PROC SQL;
CREATE TABLE WORK.CATE_DS AS
SELECT Type, Origin, DriveTrain, COUNT(*) AS count
FROM SASHELP.CARS
GROUP BY Type, Origin, DriveTrain;
QUIT;
PROC TEMPLATE;
DEFINE STATGRAPH cate_pair_plot;
BEGINGRAPH;
ENTRYTITLE 'CATEGORICAL VARIABLE PAIR PLOT [Type, Origin, DriveTrain]';
LAYOUT LATTICE / ROWS = 3 COLUMNS = 3;
/*--- row 1 ---*/
/* col 1 */LAYOUT OVERLAY / XAXISOPTS = ( DISPLAY = ( TICKS TICKVALUES ) GIRDDISPLAY = ON TYPE = DISCRETE );
BARCHART CATEGORY = Type RESPONSE = count / STAT = SUM GROUP = Type BARLABEL = TRUE;
ENDLAYOUT;
/* col 2 */LAYOUT OVERLAY; ENTRY HALIGN=RIGHT "" / VALIGN=TOP; ENDLAYOUT;
/* col 3 */LAYOUT OVERLAY; ENTRY HALIGN=RIGHT "" / VALIGN=TOP; ENDLAYOUT;
/*--- row 2 ---*/
/* col 1 */LAYOUT REGION;
mosaicPlotParm CATEGORY = (Type Origin) COUNT = count / COLORGROUP = Origin Display = (TICKS VALUES) VALUELOCATION=OUTSIDE;
ENDLAYOUT;
/* col 2 */LAYOUT OVERLAY / XAXISOPTS = ( DISPLAY = ( TICKS TICKVALUES ) GIRDDISPLAY = ON TYPE = DISCRETE );
BARCHART CATEGORY= Origin RESPONSE=count / STAT = SUM GROUP = Origin BARLABEL = TRUE;
ENDLAYOUT;
/* col 3 */LAYOUT OVERLAY; ENTRY HALIGN=RIGHT "" / VALIGN=TOP; ENDLAYOUT;
/*--- row 3 ---*/
/* col 1 */LAYOUT REGION;
mosaicPlotParm CATEGORY = (Type DriveTrain) COUNT = count / COLORGROUP = DriveTrain Display = (TICKS VALUES) VALUELOCATION=OUTSIDE;
ENDLAYOUT;
/* col 2 */LAYOUT REGION;
mosaicPlotParm CATEGORY = (Origin DriveTrain) COUNT = count / COLORGROUP = DriveTrain Display = (TICKS VALUES) VALUELOCATION=OUTSIDE;
ENDLAYOUT;
/* col 3 */LAYOUT OVERLAY / XAXISOPTS = ( DISPLAY = ( TICKS TICKVALUES ) GIRDDISPLAY = ON TYPE = DISCRETE );
BARCHART CATEGORY= DriveTrain RESPONSE=count / STAT = SUM GROUP = DriveTrain BARLABEL = TRUE;
ENDLAYOUT;
ENDLAYOUT;
ENDGRAPH;
END;
RUN;
ODS GRAPHICS ON / RESET = ALL HEIGHT = 7in WIDTH = 14in;
PROC SGRENDER DATA = WORK.CATE_DS TEMPLATE = cate_pair_plot;
RUN;
Leave a comment