Reputation: 2999
I'm generating some plots (for a class) for a colorblind professor. The JOURNAL2
style, in SAS, uses grey scale. However, the plots put all of the points right on top of each other. Is there an option to scatter them around the point or use call out lines so that they are easier to read?
Here's the code I'm using
ODS HTML STYLE = JOURNAL2;
PROC LOGISTIC DATA = fludata PLOTS(UNPACK ONLY LABEL) = (LEVERAGE DFBETAS DPC INFLUENCE PHAT);
CLASS gender(PARAM = ref REF = 'Female')
newincome(PARAM = ref REF = '03 - High ');
MODEL flu(EVENT = 'Yes') = gender newincome / CTABLE PPROB = .49 TO .5 BY .001;
OUTPUT OUT = predict P = pred;
RUN;
Here's an example of an illegible plot:
Any thoughts about a better way to do this?
Upvotes: 0
Views: 237
Reputation: 63424
Don's suggestion of contacting SAS Support is probably apropos, but in the meanwhile here's an example of rolling your own.
ODS HTML STYLE = journal;
data us_data;
set sashelp.us_data;
length density $8 seat_change $15;
if density_2010 < 50 then density="1 Low";
else if density_2010 < 400 then density="2 Med";
else density="3 High";
if seat_change_2010 > 0 then seat_change='Positive';
else seat_change="Nonpositive";
keep density seat_change region;
run;
PROC LOGISTIC DATA = us_data PLOTS(UNPACK ONLY LABEL) = (LEVERAGE DFBETAS DPC INFLUENCE PHAT);
CLASS REGION(PARAM = ref REF = 'Northeast')
density(PARAM = ref REF = '3 High');
MODEL seat_change(EVENT = 'Positive') = REGION density / CTABLE PPROB = .49 TO .5 BY .001;
OUTPUT OUT = predict P = pred difchisq=difchisq c=cidisp;
RUN;
proc sgplot data=predict;
scatter x=pred y=difchisq /group=region groupdisplay=cluster datalabel;
run;
Obviously you'd have to run each one separately this way, although the programming isn't all that hard.
Upvotes: 1