/*--Data with only positive corellations--*/ data dep_grp_1; input Prod_y $ Prod_x $ value $; datalines; Milk Cereal Yes Milk Cookies Yes Beer Chips Yes Beer Daipers Yes Chips Dip Yes Soda Cookies Yes ; /*--Data with positive and negative corellations--*/ data dep_grp_2; input Prod_y $ Prod_x $ value $; datalines; Milk Chips No Milk Cereal Yes Milk Cookies Yes Beer Chips Yes Beer Daipers Yes Chips Dip Yes Soda Cookies Yes Soda Daipers No ; ods html close; ods listing; proc print;run; /*--Group Heat Map--*/ proc template; define statgraph dep_grp; dynamic _showvalues _gap _offset; begingraph; entrytitle 'Associations Matrix'; layout overlay / yaxisopts=(reverse=true display=(tickvalues) offsetmin=_offset offsetmax=_offset) xaxisopts=(display=(tickvalues) offsetmin=_offset offsetmax=_offset); heatmapparm x=prod_x y=prod_y colorgroup=value / name='a' display=(fill outline) xgap=_gap ygap=_gap datatransparency=0.4; if(_showvalues eq 'yes') scatterplot x=prod_x y=prod_y / markercharacter=value markercharattrs=(size=9); endif; discretelegend 'a'; endlayout; endgraph; end; run; ods listing; /*--Basic Dependency Map--*/ ods graphics / reset width=3.5in height=3in imagename='Dependency_Basic'; proc sgrender data=dep_grp_1 template=dep_grp; dynamic _showvalues='no'; run; /*--Heat Dependency Map with Groups--*/ ods graphics / reset width=3.5in height=3in imagename='Dependency_Group_Basic'; proc sgrender data=dep_grp_2 template=dep_grp; dynamic _showvalues='no'; run; /*--Heat Dependency Map with Groups and Labels--*/ ods graphics / reset width=3.5in height=3in imagename='Dependency_Group_Labels'; proc sgrender data=dep_grp_2 template=dep_grp; dynamic _showvalues='yes'; run; /*--Heat Dependency Map with Groups, Labels and Gaps--*/ ods graphics / reset width=3.5in height=3in imagename='Dependency_Group_Labels_Gap'; proc sgrender data=dep_grp_2 template=dep_grp; dynamic _showvalues='yes' _gap='3'; run; /*--Group Heat Map with Discrete Attr Map--*/ proc template; define statgraph dep_grp_map; dynamic _showvalues _gap _offset; begingraph; entrytitle 'Associations Matrix'; discreteattrmap name='map'; value "Yes" / fillattrs=(color=darkgreen); value "No" / fillattrs=(color=darkred); enddiscreteattrmap; discreteattrvar attrvar=value var=value attrmap="map"; layout overlay / yaxisopts=(reverse=true display=(tickvalues) offsetmin=_offset offsetmax=_offset) xaxisopts=(display=(tickvalues) offsetmin=_offset offsetmax=_offset); heatmapparm x=prod_x y=prod_y colorgroup=value / name='a' display=(fill outline) xgap=_gap ygap=_gap datatransparency=0.6; if(_showvalues eq 'yes') scatterplot x=prod_x y=prod_y / markercharacter=value markercharattrs=(size=9); endif; discretelegend 'a'; endlayout; endgraph; end; run; /*--Heat Dependency Map with Groups, Labels, Gaps and Custom colors--*/ ods graphics / reset width=3.5in height=3in imagename='Dependency_Group_Map'; proc sgrender data=dep_grp_2 template=dep_grp_map; dynamic _showvalues='yes' _gap='3'; run;