/**********************************************************************/
/* define symbol characteristics */
symbol1 value=dot height=3 color=black interpol=rlclm90;
/* produce the plot */
proc gplot data=fitness;
plot heart*aero / frame;
run;
/**********************************************************************/
/* modify the horizontal axis */
axis1 label=('Oxygen Consumption'
justify=center height=3.5
'(in milliliters per kilogram of body weight per minute)')
major=(height=1.75) minor=(number=4 height=1);
/* modify the vertical axis */
axis2 label=('Resting' justify=right 'Heart Rate')
minor=(number=1 height=1) major=(height=1.25);
/**********************************************************************/
title1 'Relation of Heart Rate to Oxygen Consumption';
/**********************************************************************/
footnote1 font=centx justify=left
' Produced by the Employee Fitness Committee'
justify=right "&sysdate ";
/**********************************************************************/
axis1 label=('Oxygen Consumption' justify=center height=3.5
'(in milliliters per kilogram of body weight per minute)')
major=(height=1.75) minor=(number=4 height=1)
length=50 pct origin=(15,) pct value=(height=3.5);
/**********************************************************************/
axis2 label=(angle=90 'Resting Heart Rate')
major=(height=1.25) minor=(number=1 height=1)
value=(height=3.5) ;
/**********************************************************************/
proc gplot data=fitness;
note height=3.5 move=(66,45) pct 'Linear regression with'
move=(66,40) pct '90% confidence limits'
move=(66,35) pct 'for mean predicted values.';
plot heart*aero / haxis=axis1 vaxis=axis2 frame;
run;
/**********************************************************************/
goptions reset=all gunit=pct cback=white colors=(black)
hsize=2.5 in vsize=3.5 in hpos=88 vpos=44
htitle=3.5 htext=3 ftitle=centx ftext=swiss border;
/**********************************************************************/
footnote1 height=2.5 justify=left
' Linear regression with 90% confidence';
footnote2 height=2.5 justify=left
' limits for mean predicted values.';
footnote3 ' ';
footnote4 font=centx justify=left height=2.5
' Produced by the Employee Fitness Committee'
justify=right "&sysdate ";
/**********************************************************************/
note font=zapf
move=(75,48) 'Mean production'
move=(75,44) 'is 210,154'
move=(75,40) 'kilowatt hours.';
/**********************************************************************/
note font=zapf
move=(23,70) 'Mean production is'
move=(23,65) '210,154 kilowatt hours.';
/**********************************************************************/
/* modify the midpoint axis */
axis1 label=none offset=(5,5);
/* modify the response axis */
axis2 label=('Metric Tons' justify=right '(millions)')
minor=(number=1);
/* modify the group axis */
axis3 label=none;
/* produce the chart */
proc gchart data=grainldr;
vbar year / discrete group=country sumvar=amount
coutline=black patternid=midpoint frame
width=5 space=0 gspace=1
maxis=axis1 raxis=axis2 gaxis=axis3;
run;
/**********************************************************************/
/* modify the group axis */
axis3 value=('China' 'India' 'United States' 'Soviet Union')
label=none;
/**********************************************************************/
/* modify the group axis */
axis3 label=none order=('China' 'United States'
'India' 'Soviet Union');
/**********************************************************************/
/* define a format for the country names */
proc format;
value $country 'CHN'='China'
'IND'='India'
'USA'='United States'
'USS'='Soviet Union';
run;
/* produce the chart */
proc gchart data=grainldr;
format country $country.;
vbar year / discrete group=country sumvar=amount
coutline=black patternid=midpoint frame
maxis=axis1 raxis=axis2 gaxis=axis3;
run;
/**********************************************************************/
proc gchart data=grain90;
format country $country.;
pie country / sumvar=amount percent=outside slice=outside
value=none coutline=black noheading
ascending clockwise;
run;
/**********************************************************************/
proc gchart data=grainldr;
format country $country.;
vbar country / sumvar=amount subgroup=year ascending
maxis=axis1 raxis=axis2 coutline=black frame;
run;
/**********************************************************************/
legend1 label=none position=(top center) offset=(,5) pct
value=(height=5) shape=bar(4,4) pct;
/**********************************************************************/
legend1 label=('People per' justify=left 'Square Mile');
/**********************************************************************/
value=('0 to 14.9' '15 to 24.9' '25 and higher')
/**********************************************************************/
/* create the format */
proc format;
value popfmt low-4='Fewer than 5'
5-20='5 to 20'
21-45='21 to 45'
46-high='More than 45';
/* modify the legend */
legend1 label=('People per' justify=left 'Square Mile'
position=top)
shape=bar(3,3) pct frame
across=1 position=(right middle) offset=(-5,+18) pct;
/* produce the map */
proc gmap map=maps.austral data=popdnsty;
format popden popfmt.;
id id;
choro popden / discrete legend=legend1 coutline=black;
run;
/**********************************************************************/
proc gplot data=stocks (where=(year > 1979));
plot high*year low*year / overlay legend=legend1
haxis=axis1 vaxis=axis2 frame;
run;
/**********************************************************************/
/* modify the vertical axis */
axis2 order=(50 to 100 by 10) minor=(number=1 height=1)
label=('Resting' justify=right 'Heart Rate')
major=(height=1.25);
/**********************************************************************/
/* define the format */
proc format;
value ratefmt low-59='Below 60'
60-72='60 - 72'
73-80='73 - 80'
81-high='Over 80';
run;
/* produce the chart */
proc gchart data=fitness;
format heart ratefmt.;
vbar heart / discrete freq maxis=axis1 raxis=axis2
coutline=black space=3;
run;
/**********************************************************************/
/* modify the horizontal axis */
axis1 order=(1952 to 1992 by 4) minor=(number=3)
label=none length=80 pct;
/* modify the vertical axes */
axis2 order=(0 to 3200 by 400) minor=(number=1)
label=('Index');
/* define symbol characteristics */
symbol1 interpol=join font=marker value=C height=1.5;
symbol2 interpol=join value=dot height=2;
symbol3 interpol=none value=none;
/* produce plot with right vertical axis */
proc gplot data=stocks;
plot high*year low*year / overlay legend=legend1
haxis=axis1 vaxis=axis2 frame;
plot2 high*year / haxis=axis1 vaxis=axis2;
run;
/**********************************************************************/
/* modify the vertical axes */
axis2 order=(400 to 3600 by 800) minor=(number=1)
label=('Index') offset=(0,0);
/**********************************************************************/
proc gchart data=fitness;
vbar exer / discrete sumvar=heart type=mean ref=72
coutline=black width=5
maxis=axis1 raxis=axis2;
note move=(60,62) pct 'Normal rate: 72';
run;
/**********************************************************************/
proc gchart data=fitness;
format heart 2.;
vbar exer / discrete sumvar=heart type=mean mean
coutline=black width=5
maxis=axis1 raxis=axis2;
run;
/**********************************************************************/
/* define symbol characteristics */
symbol1 value=dot height=2.5 interpol=rlclm90;
/* explain the equation values */
footnote1 justify=left ' where HEART is resting heart rate'
' and AERO is oxygen consumption.';
/* produce plot */
proc gplot data=fitness;
plot heart*aero / regeqn frame haxis=axis1 vaxis=axis2;
run;
/**********************************************************************/
/* modify the midpoint axis */
axis1 label=none;
/**********************************************************************/
/* modify the response axis */
axis2 label=(justify=left 'Metric Tons'
justify=left height=4 '(millions)')
minor=(number=1);
/**********************************************************************/
legend1 label=none shape=bar(4,4) pct
value=('Corn' 'Rice' 'Wheat')
origin=(45,15) pct mode=share;
/**********************************************************************/
title1 'World Grain Production: 1990';
/**********************************************************************/
footnote1 justify=left font=zapf
' Source: UN Food and Agriculture Organization';
/**********************************************************************/
proc gchart data=grain90;
format country $country.;
hbar country / sumvar=amount subgroup=type ascending
maxis=axis1 raxis=axis2 legend=legend1
coutline=black nostats frame;
run;
/**********************************************************************/
/* suppress the BY line */
option nobyline;
/* sort the data set by the BY variable */
proc sort data=grainldr;
by country;
run;
/* include the BY value in the title */
title1 'Grain Production for #byval(country)'
justify=center '1989 and 1990';
/* produce the chart and name the BY variable */
proc gchart data=grainldr;
format country $country.;
by country;
vbar year / discrete sumvar=amount group=type
patternid=midpoint coutline=black frame
width=5 maxis=axis1 raxis=axis2 gaxis=axis3;
run;
/**********************************************************************/