/* set GOPTIONS NODISPLAY if you don't want to see individual */ /* graphs while they are being created */ goptions reset=global htext=1.5 ftext=swissl nodisplay; proc gchart data=sasuser.houses gout=mycat; label price='Average Asking Price'; label baths='Average Number of Bathrooms'; axis1 label=none; axis2 label=('Average Square Footage'); axis3 label=(angle=90 rotate=0) order=0 to 100000 by 20000; axis4 label=(angle=90 rotate=0); /* chart for upper left quadrant */ pie style / type=freq noheading slice=inside value=outside percent=outside; run; /* chart for upper right quadrant */ hbar style / type=mean sumvar=sqfeet maxis=axis1 raxis=axis2 patternid=midpoint; run; /* chart for lower left quadrant */ vbar bedrooms / group=style discrete nozeros type=mean sumvar=baths raxis=axis4 gaxis=axis1 patternid=group; run; /* chart for lower right quadrant */ vbar style / type=mean sumvar=price mean maxis=axis1 raxis=axis3 patternid=midpoint; run; quit; /* generate title and footnote with PROC GSLIDE */ proc gslide gout=mycat; title1 height=8 pct 'Housing Summary'; footnote1 height=4 pct 'Based on Style of Homes'; run; quit; /* set GOPTIONS DISPLAY before invoking PROC GREPLAY */ goptions display; /* invoke GREPLAY and specify the input, output and */ /* template catalogs */ proc greplay nofs igout=mycat gout=mycat tc=mytemps; /* define template panels */ tdef t2x2 /* upper left panel */ 1 / llx=6 ulx=6 urx=47 lrx=47 lly=48 uly=89 ury=89 lry=48 /* upper right panel */ 2 / llx=53 ulx=53 urx=94 lrx=94 lly=48 uly=89 ury=89 lry=48 /* lower left panel */ 3 / llx=6 ulx=6 urx=47 lrx=47 lly=7 uly=48 ury=48 lry=7 /* lower right panel */ 4 / llx=53 ulx=53 urx=94 lrx=94 lly=7 uly=48 ury=48 lry=7 /* full display panel for PROC GSLIDE output */ 5 / llx=0 ulx=0 urx=100 lrx=100 lly=0 uly=100 ury=100 lry=0 ; /* replay graphs into template panels */ template t2x2; tplay 1:1 2:2 3:3 4:4 5:5; run; quit;