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;