Legenditem offers new possibilities.
However I'm wondering how I can ensure that the bar colors and the legend values are always synchronized.
I find pretty essential to avoid major mistake, especially when programming at a time the data are not frozen.
Here is an example.
The program works properly before sorting the data. But if the data sorting order change, the keylegend has to be updated because values in styleattrs are just indicating the colors for the first, second and third bar i.e. has no link with the other statements.
Is htere a way to keep using legenditem and avoiding such risk
data class;
set sashelp.class (where=(age=12))
sashelp.class (where=(age=14))
sashelp.class (where=(age=13));
agec=put(age,best.-l);
run;
*proc sort data=class;
*by agec;
*run;
%let ColorBarRed = CXBE030E;
%let ColorBarYellow = CXFFFF01;
%let ColorBarBlue = CX03B1F0;
proc sgplot data=class;
vbarbasic agec / response=height stat=mean group=agec;
legenditem type=fill name='Y12' / label='12 Years old'
fillattrs = graphdata1
outlineattrs= graphdata1;
legenditem type=fill name='Y14' / label='14 Years old'
fillattrs = graphdata2
outlineattrs= graphdata2;
legenditem type=fill name='Y13' / label='13 Years old'
fillattrs = graphdata3
outlineattrs= graphdata3;
styleattrs datacolors =(&ColorBarRed.
&ColorBarYellow.
&ColorBarBlue.);
keylegend 'Y12' 'Y14' 'Y13';
run;
... View more