The gchart procedure
Download
1 / 34

The gchart Procedure - PowerPoint PPT Presentation


  • 116 Views
  • Updated On :

The gchart Procedure. The gchart Procedure is used to create bar charts of various types (it can also create pie charts. It’s most basic form would look something like this: proc gchart data =save.padgett; vbar plantht; run ; quit ;. The gchart Procedure.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'The gchart Procedure' - rane


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
The gchart procedure l.jpg
The gchart Procedure

  • The gchart Procedure is used to create bar charts of various types (it can also create pie charts.

  • It’s most basic form would look something like this:

    procgchartdata=save.padgett;

    vbar plantht;

    run;

    quit;


The gchart procedure2 l.jpg
The gchart Procedure

  • The vbar (or hbar) statement includes a variable that is referred to as the midpoint variable.

  • If this variable is of the character type, a midpoint is established for each unique value.

  • If it is numeric, SAS establishes classes or bins for it.

  • In either case, the frequency in each class is summarized by vertical (or horizontal) bars.


Basic output l.jpg
Basic Output

This is kind of like

a histogram, except

for the spacing

This value of 75

corresponds to a

class ranging from

67.5 to 82.5

(with a frequency

of about 60)


A few options l.jpg
A Few Options

Sets the number of midpoints

  • In this version

    procgchartdata=save.padgett;

    vbar plantht/space=0type=percent levels=9;

    run;

    quit;

Controls spacing between bars

Changes the statistic from frequency

to percent


So we get l.jpg
So We Get…

This is a histogram


Setting midpoints l.jpg
Setting Midpoints

  • You can also set midpoints explicitly:

    procgchartdata=save.padgett;

    vbar plantht/space=0type=percent

    midpoints=0255075100125150;

    run;

    quit;

The chart will be constructed

with these 7 values as class

midpoints


Setting midpoints7 l.jpg
Setting Midpoints

  • We might try…

    procformat;

    value classes

    low-<30='<30'

    30-<60=’30-60'

    60-<90=’60-90'

    90-<120=’90-120'

    120-high='>120'

    ;

    run;

    procgchartdata=save.padgett;

    vbar plantht/space=0type=percent;

    format plantht classes.;

    run;

    quit;


We get l.jpg
We Get…

SAS establishes

the midpoints first

then applies the format

Oops


The discrete option l.jpg
The Discrete Option

procgchartdata=save.padgett;

vbar plantht/discretespace=0type=percent;

format plantht classes.;

run;

quit;

Discrete establishes each distinct

value of the midpoint variable as

a midpoint on the graph. If the

variable is formatted, the formatted

values are used for the construction.

If you use discrete with

a numeric variable you

should:

1. Be sure it has only a

few distinct values.

or

2. Use a format to make

categories for it.


Result l.jpg
Result

Bar width determines

the space available for

writing midpoint values


Bar width l.jpg
Bar Width

procgchartdata=save.plantht;

vbar plantht/discretespace=0type=percent width=12;

format plantht classes.;

run;

quit;

Sets bar width


Horizontal bar charts l.jpg
Horizontal Bar Charts

proc format;

value $pol_type 'CO' = 'Carbon Monoxide' 'LEAD' = 'Lead' 'O3' = 'Ozone'

'SO2' = 'Sulfur Diox.';

run;

procgchartdata=save.projects;

hbar pol_type/discretetype=percent;

format pol_type pol_type.;

run;

quit;


Horizontal bar charts13 l.jpg
Horizontal Bar Charts

Besides the orientation

of the bars, horizontal bar

charts differ in that they

produce a set of summary

statistics by default.

You can suppress this with

the nostats option.


Summary variables l.jpg
Summary Variables

  • If I want my bar chart to summarize values of some analysis variable for each midpoint, use the sumvar= (and type= ) option.

  • E.g.:

    procgchartdata=save.projects;

    hbar pol_type/discretesumvar=jobtotal type=meannostats;

    format pol_type $pol_type.;

    run;

    quit;


Result15 l.jpg
Result

Mean total cost is

now summarized for

each pollution type.

Note: Only two types of statistics

are available with summary variables,

the sum (which is the default) and

the mean



Axis modification l.jpg
Axis Modification

  • The two axes on the bar graph are referred to as the midpoint axis (maxis) and the response axis (raxis).

  • Axes can be modified with axis statements. The general form of an axis statement is:

    axisnoptions;

    where n is an integer between 1 and 99.


Axis modification18 l.jpg
Axis Modification

  • Lots of options can be set in an axis statement. E.g.:

    procgchartdata=save.projects;

    hbar pol_type/discretesumvar=jobtotal type=meannostats maxis=axis1 raxis=axis2;

    format pol_type $pol_type.;

    axis1label=(c=blue h=1.5f=swissb ’Type of Pollution Project');

    axis2order=(0 to 100000 by 20000) minor=(n=1) value=(h=1.25f=swissb)

    label=(f=swissb c=red h=1.5'Mean Job Cost in Dollars');

    run;

    quit;

Assign axis statements

to each chart axis

Choose options/modifications

for specified axis



Some options l.jpg
Some Options

  • c=

    sets axis color

  • w=

    sets axis width

  • label=(options) Sets axis label, some options:

    • h= text height

    • c= text color

    • f= font style

    • ‘Any Text’ is the axis label (overrides any label currently assigned)

    • a= angle of the label text

    • r= rotation of individual characters


Some options21 l.jpg
Some Options

  • value =(options)

    controls appearance of axis values, options are similar to those for label.

  • order=(a to b by c)

    sets axis starting and ending points and increment

  • minor=(options) major=(options)

    • Controls style of major or minor tick marks. Some options:

      • n= number of ticks (for minor it’s the number between major ticks)

      • h= height

      • c= color

      • w= width


Where to find more if you dare l.jpg
Where to Find More (If you dare…)


Bar fill patterns l.jpg
Bar Fill Patterns

  • In all charts to this point, all bars have been red. It is possible to change the color, and it is possible to give each bar a different color.

  • To give bars different colors, specify patternid=midpoint in the hbar or vbar statement.


Bar fill patterns24 l.jpg
Bar Fill Patterns

patternid=midpoint

gives each bar its own

“pattern” or color


Setting a color list l.jpg
Setting a Color List

  • The goptions statement allows us to set several global graphics options, one of which is a color list:

    goptionscolors=(blue red yellow cyan orange);

    procgchartdata=save.projects;

    hbar pol_type/discretesumvar=jobtotal type=meannostats

    maxis=axis1 raxis=axis2 patternid=midpoint;

    format pol_type $pol_type.;

    axis1label=(c=blue h=1.5f=swissb ’Type of Pollution Project');

    axis2order=(0 to 100000 by 20000)

    minor=(n=1) value=(h=1.25f=swissb) label=(f=swissb c=red h=1.5’Mean Total Project Cost');

    run;

    quit;

This color becomes

the default axis and

text color


Setting a color list26 l.jpg
Setting a Color List

  • Remember, setting a color is an option for any axis statement, so if you change the color list, you can always override the first color behavior in the axis statement.

  • coutline= is an option you can use in the vbar or hbar statement to set the bar outline color.


Alternate fill patterns l.jpg
Alternate Fill Patterns

  • You can specify some alternate fill patterns for bars (particularly useful for creating black & white charts) with a pattern statement(s).

  • The two major options in the pattern statement are c= and v=, for color and fill, respectively. Rules:

    • If no color is specified, the fill pattern is applied for each color in the color list.

    • If a color is specified, the fill pattern is applied only once.

    • The fill pattern can be set to on of Ln, Rn or Xn; where n is an integer between 1 and 5.


An example l.jpg
An Example

L, R and X

correspond

to left-leaning,

right-leaning

and crossed

lines. The

number

controls the

thickness

Add these pattern statements to your previous code to get the above bar graph:

pattern c=black v=L1; pattern c=black v=R1;

pattern c=black v=X1; pattern c=black v=L5;

pattern c=black v=R5;


The group option l.jpg
The group= option

procgchartdata=save.padgett;

hbar marsh/group=flower discretesumvar=plantht type=meannostats maxis=axis1 raxis=axis2 gaxis=axis3 patternid=midpoint;

format marsh marsh. flower flower.;

axis1label=(c=blue h=1.5f=swissb ’Marsh');

axis2order=(0 to 120 by 20) minor=(n=1) value=(h=1.25f=swissb)

label=(f=swissb c=red h=1.5'Mean Plant Height in Centimeters');

axis3label=(c=green h=1.5f=swissb ’Flowering');

run;

quit;

Sets up a “grouping” variable—bars for the

full set of midpoints are constructed for each

value of the group variable

We can modify the

group axis as well



The subgroup option l.jpg
The subgroup= option

Subgroup creates

stacked bars across levels

of a variable. (Not

appropriate for means)


The subgroup option32 l.jpg
The subgroup= option

proc gchart data=save.padgett;

hbar marsh/group=flower discrete type=percent nostats maxis=axis1 raxis= axis2 gaxis=axis3 patternid=subgroup subgroup=form legend=legend1;

format marsh $marsh. flower $flower.;

axis1 label=(c=blue h=1.5 f=swissb 'Marsh');

axis2 order=(0 to 50 by 10) minor=(n=1)

value=(h=1.25 f=swissb)

label=(f=swissb c=red h=1.5 );

axis3 label=(c=green h=1.5 f=swissb 'Flowering');

legend1 across=1 label=(c=blue 'Form of Plant') frame cshadow=gray position=(top right) mode=share;


Legend modifications l.jpg
Legend Modifications

  • In a legend statement, some options available are:

    • label= similar to what is available in the axis statement.

    • across= and down= sets limit for row or column length in the legend (only use one)

    • frame draws a border around the legend

    • cshadow= places a shadow “behind” the legend in the specified color.


Legend modifications34 l.jpg
Legend Modifications

  • position=( ) places the legend, choices include:

    • inside/outside

    • left/right/center

    • top/bottom/middle

    • (default is bottom center outside).

  • mode= tells how to allocate space for the chart and legend, choices are:

    • reserve: sets aside space for the legend before graph is drawn (can’t be used with position set to inside)

    • share or protect: allows graph and legend to use the same space. Share has the graph drawn over the legend if they intersect, protect does the opposite.


ad