Figure 1.1 on page 4 using

barleydata set. Using the by statement inproc gplot, SAS automatically creates all the subplots. We then useproc greplayto put them all together in one plot.

proc sort data = clev1.barley out = barley; by site; run; goptions reset = all vsize=1.6 hsize= 2.5 htext=.5; symbol1 v = plus c = black; symbol2 v = circle c = red; axis1 order = (15 to 75 by 15) value=none major = none minor = none label=('') axis2 label = ('') offset=(1,1) major=none; proc gplot data = barley; by site; plot variety*yield=year / nolegend haxis=axis1 vaxis= axis2 cvref= ligr lvref = 3 autovref noframe; run; quit;

We put three of them together to make one single plot. So we end up with two plots instead of one. They look better in two plots as in one single plot. One can use the same procedure shown below to put the two plots together again to form a single one. But one has to be careful about the ratio of the plots.

goptions vsize = 0 vpos=0 display hsize=0; proc greplay igout=work.gseg tc=sashelp.templt template=v3 nofs; treplay 1:gplot 2:gplot1 3: gplot2; treplay 1:gplot3 2:gplot4 3:gplot5; run; quit;

Figure 1.2 on page 7 using

singerdata set. We first sort the data set by variablevoice_partso we can make use of thebystatement inproc univariate. Afterproc univariateproduces all the plots, we put them together as two plots usingproc greplay.

proc sort data = singer; by voice_part ; run; proc greplay nofs igout = work.gseg; delete _all_; run; goptions reset = all vsize=2 hsize= 2; proc univariate data = singer noprint; by voice_part ; histogram height /vaxis=0 10 20 30 40 50 vaxislabel='' midpoints=(59 to 76 by 1) noframe; label height = ''; run; goptions vsize = 0 vpos=0 display hsize=0; proc greplay igout= work.gseg tc=sashelp.templt template=l2r2 nofs; treplay 1:univar 2:univar1 3: univar2 4: univar3; treplay 1:univar4 2:univar5 3:univar6 4: univar7; run; quit;

Figure 1.3 on page 9. It is a simple gplot procedure to produce the scatter plot. We used the

footnotestatement with themoveoption to get Greek letter and superscript in the title.

goptions reset = all vsize=4 hsize= 4; symbol v=circle c=black ; axis1 order = (0 to 140 by 20) minor = none label=(''); axis2 order = (14 to 26 by 4) minor = none label=(a=90 'Babinet Point (degrees)'); footnote f = swiss h = 1 'Concentration (' f =greek 'm' f = swiss 'g/m' move=(+0, +0.5) h= .5 '3' move=(-0, -0.5) h=1 ')'; proc gplot data = clev1.polarization; plot babinet*concentration /haxis=axis1 vaxis=axis2; run; quit;

Figure 1.4 and Figure 1.5 on page 11.

goptions reset = all vsize=4 hsize= 4; symbol v = circle c=black h=0.8; axis1 order = (.5 to 1.3 by .4) minor = none label = ('E'); axis2 order = (0 to 5 by 1) minor = none label=(''); title angle=90 h = 1 'NO' move=(+0.5, -0) h=.6 'x ' move=(-.5, +0) h = 1 '(' font = greek 'm' font = swiss 'g/J)'; proc gplot data = clev1.ethanol; plot nox*e /haxis=axis1 vaxis=axis2; run; quit;

goptions reset = all vsize=4 hsize= 4; symbol v = circle c=black h=0.8; axis1 order = (6 to 18 by 6) minor = none label = ('C'); axis2 order = (0 to 5 by 1) minor = none label=(''); title angle=90 h = 1 'NO' move=(+0.5, -0) h=.6 'x ' move=(-.5, +0) h = 1 '(' font = greek 'm' font = swiss 'g/J)'; proc gplot data = clev1.ethanol; plot nox*c /haxis=axis1 vaxis=axis2; run; quit;

Figure 1.6 on page 13. In figure 1.1 above the vertical axis has different order from the plot in the book. In order to get them to be in the same order, we have to recode the variable shown below. Then we have to label the vertical axis using the

valueoption to specify what should be for each of the tick on the axis. After all the plots are created, we again useproc greplayto group the plots together into three panels. Notice that the orders of the plots are different from the book, but each individual plot is the same.

data barley; set clev1.barley; if variety = 'Trebi' then vnum = 10; if variety = 'Wisconsin No. 38' then vnum = 9; if variety = 'No. 457' then vnum = 8; if variety = 'Glabron' then vnum = 7; if variety = 'Peatland' then vnum = 6; if variety = 'Velvet' then vnum = 5; if variety = 'No. 475' then vnum = 4; if variety = 'Manchuria' then vnum = 3; if variety = 'No. 462' then vnum = 2; if variety = 'Svansota' then vnum = 1; run; proc sort data = barley ; by site year; run; proc greplay nofs igout = work.gseg; delete _all_; run; goptions reset = all vsize=2 hsize= 3.5 htext=.5; symbol2 v = dot c = black h = .5; axis1 order = (15 to 75 by 15) value=none major = none minor = none label=(''); axis2 value = (tick = 1 'Svansota' tick = 2 'No. 462' tick = 3 'Manchuria' tick = 4 'No. 475' tick = 5 'Velvet' tick = 6 'Peatland' tick = 7 'Glabron' tick = 8 'No. 457' tick = 9 'Wisconsin No. 38' tick = 10 'Trebi') offset=(1,1) major=none; proc gplot data = barley; by site year; plot vnum*yield / nolegend haxis=axis1 vaxis= axis2 cvref= ligr lvref = 3 autovref noframe; run; quit; goptions vsize = 0 vpos=0 display hsize=0; proc greplay igout=work.gseg tc=sashelp.templt template=l2r2 nofs; treplay 1:gplot 2:gplot1 3: gplot2 4: gplot3; treplay 1:gplot4 2:gplot5 3:gplot6 4: gplot7; treplay 1:gplot8 2:gplot9 3:gplot10 4: gplot11; run; quit;