Hello Everyone,
I was wondering if there was a way to rename the character names of variables directly in the legend. I have a scatterplot that looks great but the legend says "Indian" and "Arctic" with the corresponding symbols. Is there any way I can make the legend say "Indian Ocean" and "Arctic Ocean" directly on the graph?
Thanks for your help!
I would use legendlabel='Indian Ocean' as an option under seriesplot of your graph and the same for Arctic Ocean.
I would use legendlabel='Indian Ocean' as an option under seriesplot of your graph and the same for Arctic Ocean.
As a "best practice", I would recommend using a data-driven solution, rather than hard-coding the text. If you hard-code text in the legend, then one day if/when the data changes, then the hard-coded legend will be wrong (which could go un-noticed and compromise the data-integrity of the graph).
You don't mention which proc you're using, so here's an example using traditional gplot...
Here's a plot with 'M' and 'F' in the legend:
legend1 label=none position=(bottom center);
proc gplot data=sashelp.class;
plot height*weight=sex / legend=legend1;
run;
Now, instead of 'M' and 'F', let's say we want 'Male' and 'Female' to show up in the legend. You could either create a user-defined format that makes 'M' and 'F' show up as 'Male' and 'Female' ... or you could add an extra variable to the data, like so ...
data mod_class; set sashelp.class;
length mod_sex $10;
if sex='M' then mod_sex='Male';
else if sex='F' then mod_sex='Female';
else mod_sex=sex;
run;
legend1 label=none position=(bottom center);
proc gplot data=mod_class;
plot height*weight=mod_sex / legend=legend1;
run;
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.