Starting off as a muggle that naïve to the Math's and Data Science world.

Pair Plot (Bar Chart::Mosaic Plot)

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