%let gpath='.'; %let dpi=200; ods listing gpath=&gpath image_dpi=&dpi; ods html close; /*--Generate the data--*/ data HeatMap; length trt $8; do Trt='Active', 'Placebo'; Week=1; do Subject=1 to 36; Value=1; output; end; do Subject=37 to 45; Value=2; output; end; do Subject=46 to 53; Value=3; output; end; do Subject=54 to 61; Value=2; output; end; do Subject=62 to 62; Value=1; output; end; do Subject=63 to 67; Value=3; output; end; do Subject=68 to 68; Value=4; output; end; do Subject=69 to 81; Value=2; output; end; do Subject=82 to 91; Value=1; output; end; do Subject=92 to 101; Value=4; output; end; do Subject=102 to 104; Value=2; output; end; do Subject=105 to 106; Value=5; output; end; Week=2; do Subject=1 to 31; Value=1; output; end; do Subject=32 to 32; Value=2; output; end; do Subject=33 to 36; Value=3; output; end; do Subject=37 to 45; Value=2; output; end; do Subject=46 to 53; Value=3; output; end; do Subject=54 to 61; Value=2; output; end; do Subject=62 to 67; Value=3; output; end; do Subject=68 to 91; Value=4; output; end; do Subject=92 to 106; Value=5; output; end; Week=3; do Subject=1 to 31; Value=1; output; end; do Subject=32 to 36; Value=3; output; end; do Subject=37 to 53; Value=4; output; end; do Subject=54 to 106; Value=5; output; end; end; run; /*--Set format--*/ proc format; value benefit 1='Benefit Only' 2='Benefit+AE' 3='Neither' 4='AE Only' 5='Withdraw' ; run; /*--SGPANEL graph for two treatments--*/ ods graphics / reset width=5in height=4in imagename='HeatMapPanel'; title 'Benefit and Risk over Time for each Subject'; title2 h=7pt 'SGPANEL HeatMap'; proc sgpanel data=HeatMap ; format value benefit.; styleattrs datacolors=(cx3faf3f yellow lightgray lightred gray); panelby trt / novarname spacing=10 headerattrs=(size=7) headerbackcolor=lightgray; heatmapparm x=week y=subject colorgroup=value / name='a'; colaxis integer offsetmin=0 offsetmax=0 display=(noline) valueattrs=(size=7) labelattrs=(size=8); rowaxis values=(10 to 100 by 10) min=1 valueshint offsetmin=0 offsetmax=0 display=(noline) valueattrs=(size=7) labelattrs=(size=8); keylegend 'a' / valueattrs=(size=7) noborder; run;