Hello, Below is a template that you can use to align the header information with the cycles, and I believe this should work in 9.2. However this has been done manually by using the referenceline and scatterplot statements. Also more work needs to be done on adding information for Cycle 3 and Cycle 4, but this can be worked out quite easily by just using the correct filtering and the correct x-value. Also more work needs to be done on including the variable row header and the fill background color within the table if necessary. I believe one option to do the fill color is by using the band statement. Please let me know if you have any questions. proc template;
define statgraph gsv00251;
begingraph / designwidth=7in designheight=4.5in;
entrytitle 'Immunology Profile by Treatment';
layout lattice / columns=1 rowweights=(.15 .85);
columnaxes;
columnaxis / display=(ticks tickvalues);
endcolumnaxes;
layout overlay / yaxisopts = (display = (line)) xaxisopts = (offsetmin = .03 offsetmax = .03 display = (line));
scatterplot x=xval y = pt /* So that Y goes from 1 to 4 */ / markerattrs = (size = 0);
/* Table for Labels */
scatterplot x = eval(ifn(row = "ROW 1" and _NAME_ = "TITLE", 3, .)) y = eval(ifn(row = "ROW 1" and _NAME_ = "TITLE", 4, .)) / markercharacter = col1;
scatterplot x = eval(ifn(row = "ROW 1" and _NAME_ = "REASON", 3, .)) y = eval(ifn(row = "ROW 1" and _NAME_ = "REASON", 3, .)) / markercharacter = col1;
scatterplot x = eval(ifn(row = "ROW 1" and _NAME_ = "CHAR", 3, .)) y = eval(ifn(row = "ROW 1" and _NAME_ = "CHAR", 2, .)) / markercharacter = col1;
scatterplot x = eval(ifn(row = "ROW 1" and _NAME_ = "VAR", 3, .)) y = eval(ifn(row = "ROW 1" and _NAME_ = "VAR", 1, .)) / markercharacter = col1;
scatterplot x = eval(ifn(row = "ROW 2" and _NAME_ = "TITLE", 5.7, .)) y = eval(ifn(row = "ROW 2" and _NAME_ = "TITLE", 4, .)) / markercharacter = col1;
scatterplot x = eval(ifn(row = "ROW 2" and _NAME_ = "REASON", 5.7, .)) y = eval(ifn(row = "ROW 2" and _NAME_ = "REASON", 3, .)) / markercharacter = col1;
scatterplot x = eval(ifn(row = "ROW 2" and _NAME_ = "CHAR", 5.7, .)) y = eval(ifn(row = "ROW 2" and _NAME_ = "CHAR", 2, .)) / markercharacter = col1;
scatterplot x = eval(ifn(row = "ROW 2" and _NAME_ = "VAR", 5.7, .)) y = eval(ifn(row = "ROW 2" and _NAME_ = "VAR", 1, .)) / markercharacter = col1;
referenceline x = 4.25 / lineattrs = (color = black);
referenceline x = 7.05 / lineattrs = (color = black);
referenceline x = 9.85 / lineattrs = (color = black);
referenceline x = 12.5 / lineattrs = (color = black);
*blockplot x=row block=col1 / class=_name_
datatransparency = .75
display=(outline fill values label)
name="stats" filltype=alternate
valuehalign=center
includemissingclass=false
labelattrs=GraphDataText valueattrs=GraphDataText ;
endlayout;
layout gridded;
layout datalattice rowvar=lbparm /
headerlabeldisplay=value includemissingclass=false
columnaxisopts=(label="Cycle Day" griddisplay=on type=discrete
discreteopts=(tickdisplaylist=
("0" "15" "30" "0" "15" "30" "0" "15" "30" "0" "15" "30"))
offsetmin = .03 offsetmax = .03)
rowaxisopts=(offsetmax=.1 label="Values Converted to SI Units "
griddisplay=on) rowdatarange=union;
layout prototype;
blockplot x=xval block=cyc / datatransparency = .75
display=(outline fill )
name="block" filltype=alternate;
seriesplot x=xval y=sival / group=pt index=pt name='a'
display=all lineattrs=(pattern=1 thickness=2)
markerattrs=(symbol=circlefilled size=8);
endlayout;
endlayout;
entry ' ';
discretelegend 'a' / title='Patient' across=8;
endlayout;
endlayout;
endgraph;
end;
run;
... View more