Hi, Thanks in advance for responses. I'm using SAS 9.4 and outputting to an RTF file. How do I format the group names in the legend, or allow character values for the group variable, without losing the plot attributes? The plot below is the current output, which is correct except for the legend values "1,2,3." See comments in all caps in code below. ** DATASET MYDATA HAS STRATVAR= "lab >= 40", "lab <40", and "total";
* I WOULD LIKE THE LEGEND OF THE PLOT TO SHOW THOSE CHARACTER STRINGS.;
* HOWEVER WHEN I USE A CHARACTER VARIABLE FOR STRATVAR (INSTEAD OF NUMERIC), THE ATTRIBUTE MAP DOESNT GET USED.;
* AND IF I USE A NUMERIC VARIABLE AND ASSISGN A FORMAT, WHETHER THE FORMAT STATEMENT IS USED IN THE DATA STEP OR;
* IN THE PROC SGPLOT PROCEDURE, THE ATTRIBUTGE MAP DOESNT GET USED.;
* NOTE: THE LINECOLORS BELOW ARE RED, BLUE, AND YELLOW;
data myattrmap0;
length color $ 9;
input ID $ value linecolor $ linethickness ; ** can also use linecolor, linethickness, symbolcolor? symbolthicknes?;
datalines;
myid 1 CXB2182B 3
myid 2 CX2A25D9 3
myid 3 CXD17800 3
;
run;
data myattrmap;
set myattrmap0;
markercolor=linecolor;
run;
options formchar="|____|+|___+=|_/\<>*" pageno=1 nonumber nodate orientation=landscape center ;
ods listing close;
ods rtf file="outputpath\myfile.rtf" nogtitle nogfootnote;
ods graphics / reset width=9in height=5.5in;
ods graphics on;
title3 "Survival, Kaplan-Meier Estimates";
ods select none;
proc lifetest data=mydata plots=survival(atrisk=0 to 30 by 5);
time time*event(0);
strata stratvar;
ods output Survivalplot=SurvivalPlotData;
run;
ods select all;
proc sgplot data=SurvivalPlotData dattrmap=myattrmap;
step x=time y=survival / group=stratum lineattrs=(pattern=solid) name='s' attrid=myid;
scatter x=time y=censored / markerattrs=(symbol=plus size=10) name='c';
scatter x=time y=censored / markerattrs=(symbol=plus size=10) GROUP=stratum attrid=myid;
keylegend 'c' / location=inside position=topright;
keylegend 's';
xaxis label='Months';
yaxis min=0;
run;
ods rtf close;
ods listing;
... View more