ods listing; ods html close; /*--Scatter Plot Matrix with Histograms in the top row--*/ proc template; define statgraph ScatterMatrixTopHist; begingraph; dynamic var1 var2 var3; layout lattice / columngutter=5 rowgutter=5 columns=3 columndatarange=union rowdatarange=union; columnaxes; columnaxis / display=(ticks tickvalues line) displaysecondary=(ticks line) linearopts=(integer=true); columnaxis / display=(line ticks) displaysecondary=(ticks tickvalues line) linearopts=(integer=true); columnaxis / display=(ticks tickvalues line) displaysecondary=(ticks line) linearopts=(integer=true); endcolumnaxes; rowaxes; rowaxis / display=(ticks tickvalues line) displaysecondary=(ticks line); rowaxis / display=(line ticks) displaysecondary=(ticks tickvalues line); rowaxis / display=(ticks tickvalues line) displaysecondary=(ticks line); rowaxis / display=(line ticks) displaysecondary=(ticks tickvalues line); endrowaxes; /*--Top row has histograms--*/ layout overlay; histogram var1 / binaxis=false; endlayout; layout overlay; histogram var2 / binaxis=false; endlayout; layout overlay; histogram var3 / binaxis=false; endlayout; /*--Row 2--*/ layout overlay / border=true; entry var1; endlayout; layout overlay; scatterplot x=var2 y=var1; endlayout; layout overlay; scatterplot x=var3 y=var1; endlayout; /*--Row 3--*/ layout overlay; scatterplot x=var1 y=var2; endlayout; layout overlay / border=true; entry var2; endlayout; layout overlay; scatterplot x=var3 y=var2; endlayout; /*--Row 4--*/ layout overlay; scatterplot x=var1 y=var3; endlayout; layout overlay; scatterplot x=var2 y=var3; endlayout; layout overlay / border=true; entry var3; endlayout; endlayout; endgraph; end; run; %let gpath='C:\'; %let dpi=200; /*--Scatter Plot Matrix with Axes and Histograms on top--*/ ods listing gpath=&gpath image_dpi=&dpi; ods graphics / reset width=4.25in height=5in imagename='MatrixTopHist'; proc sgrender data=sashelp.iris template=ScatterMatrixTopHist; label sepallength='SepalLength' petallength='PetalLength'; label sepalwidth='SepalWidth' petalwidth='PetalWidth'; dynamic var1='sepallength' var2='petallength' var3='sepalwidth'; run; /*--Scatter Plot Matrix with axis--*/ ods graphics / reset width=4.25in height=4in imagename='MatrixAxis'; proc sgscatter data=sashelp.iris; label sepallength='SepalLength' petallength='PetalLength'; label sepalwidth='SepalWidth' petalwidth='PetalWidth'; matrix sepallength petallength sepalwidth; run; /*--Scatter Plot Matrix with histogram--*/ ods graphics / reset width=4.25in height=4in imagename='MatrixHist'; proc sgscatter data=sashelp.iris; label sepallength='SepalLength' petallength='PetalLength'; label sepalwidth='SepalWidth' petalwidth='PetalWidth'; matrix sepallength petallength sepalwidth petalwidth/ diagonal=(histogram); run;