%let gpath='C:\Work\Blogs\Graphically Speaking\2013\Post_Oct_25_2013_GS_GTL_1_Scatter_Plots'; %let dpi=200; ods html close; ods listing gpath=&gpath image_dpi=&dpi; /*--Reduce plot data to Sedans only--*/ data sedans; set sashelp.cars(where=(type='Sedan')); run; /*--Basic Scatter Plot--*/ proc template; define statgraph scatter; begingraph; entrytitle 'Mileage by Horsepower'; layout overlay; scatterplot x=horsepower y=mpg_city; endlayout; endgraph; end; run; /*--Basic Scatter Plot--*/ ods graphics / reset width=2.5in height=1.75in imagename='Scatter_1'; proc sgrender data=sedans template=scatter; run; /*--Dynamic Scatter Plot--*/ proc template; define statgraph dyn_scatter; dynamic _x _y _grp _valign; begingraph; entrytitle _y ' by ' _x; layout overlay; scatterplot x=_x y=_y / group=_grp datatransparency=0.8 name='a' markerattrs=(symbol=circlefilled size=10); if (exists(_grp)) discretelegend 'a' / location=inside valign=_valign halign=right across=1; endif; endlayout; endgraph; end; run; /*--Dynamic Scatter Plot--*/ ods graphics / reset width=2.5in height=1.75in imagename='Scatter_2A'; proc sgrender data=sedans template=dyn_scatter; dynamic _x='Horsepower' _y='Mpg_Highway' _grp='Origin' _valign='Top'; run; /*--Dynamic Scatter Plot--*/ ods graphics / reset width=2.5in height=1.75in imagename='Scatter_2B'; proc sgrender data=sedans template=dyn_scatter; dynamic _x='MSRP' _y='Horsepower' _grp='Drivetrain' _valign='Bottom'; run; /*--Dynamic Scatter Plot--*/ ods graphics / reset width=2.5in height=1.75in imagename='Scatter_2C'; proc sgrender data=sedans template=dyn_scatter; dynamic _x='Horsepower' _y='Mpg_City'; run;