data reading; input type $0-18 frequency $20-41 percent; format percent Percent.; datalines; Comic books Never or almost never 0.37 Comic books A few times a year 0.26 Comic books About once a month 0.16 Comic books Several times a month 0.15 Comic books Several times a week 0.06 Non-fiction books Never or almost never 0.31 Non-fiction books A few times a year 0.31 Non-fiction books About once a month 0.20 Non-fiction books Several times a month 0.12 Non-fiction books Several times a week 0.06 Fiction Never or almost never 0.17 Fiction A few times a year 0.25 Fiction About once a month 0.20 Fiction Several times a month 0.22 Fiction Several times a week 0.16 Newspapers Never or almost never 0.19 Newspapers A few times a year 0.19 Newspapers About once a month 0.16 Newspapers Several times a month 0.24 Newspapers Several times a week 0.22 Magazines Never or almost never 0.10 Magazines A few times a year 0.20 Magazines About once a month 0.21 Magazines Several times a month 0.31 Magazines Several times a week 0.18 ; run; /*proc print; run;*/ proc template; define statgraph heatmap; begingraph / designheight=240 designwidth=760 pad=0; entrytitle 'How often do you read these materials because you want to?'; rangeattrmap name="rmap"; range min - max / rangecolormodel=(white blue); endrangeattrmap; rangeattrvar attrmap="rmap" var=percent attrvar=pColor; layout overlay / yaxisopts=(offsetmin=0.1 offsetmax=0.1 display=(ticks tickvalues line) tickvalueattrs=(size=8)) xaxisopts=(offsetmin=0.1 offsetmax=0.1 display=(ticks tickvalues line) tickvalueattrs=(size=8) discreteopts=(tickvaluefitpolicy=stagger)); heatmapparm x=frequency y=type colorresponse=percent / name="heatmap"; scatterplot x=frequency y=type / markercharacter=percent markercharacterattrs=(size=10); continuouslegend "heatmap" / valueattrs=(size=8) ; endlayout; endgraph; end; run; proc sgrender data=reading template=heatmap; run;