09-18-2017 11:36 AM
I have to plot some mean data by a group.
By default the names in the legend is then the names from the defined group.
Are the anyway you can refer to a another variable for to appear in the name in the legend.
As an axample below: I want to plot the sashelp.cars dataset and instead of having grouping variable MAKE
in the names legend I want to refer to the variable ORIGIN
Is that posible (sorry, not the most meanigfull example) ?
proc summary data=sashelp.cars (obs=20) nway; class make; var EngineSize Length; id origin; output out=plotds mean=avg_eng avg_len ; run; proc sgplot data=plotds; scatter x=avg_eng y=avg_len / group=make ; run;
09-18-2017 11:42 AM
That doesn't make a heck of a lot of sense, but you can use a format to control the display of the variables.
You create the format outside of the SGPLOT and apply it to the data with a format statement.
09-18-2017 11:58 AM
If you want the origin in the legend then use origin in the group statement.
Or is there something else you are attempting that does not work for?
09-18-2017 01:55 PM
Do you mean something like this?
Make and Origin may not have similar number of levels.
May be better to just label the Origin on each marker.
proc summary data=sashelp.cars (obs=20) nway;
var EngineSize Length;
output out=plotds mean=avg_eng avg_len ;
ods graphics / reset attrpriority=none;
proc sgplot data=plotds nocycleattrs;
scatter x=avg_eng y=avg_len / group=origin name='a' markerattrs=(size=10) ;
scatter x=avg_eng y=avg_len / group=make datalabel=make markerattrs=(size=10) ;