Using this code:
title "Bubble plot by Sex";
proc sgplot data=sashelp.class;
bubble x=height y=weight size=age / group=sex;
run;
Is there a way to assign a specific color to each level in the sex column (e.g. male=green, female=red)
If you know the order of the categories and you only want to do this one time, you can use the STYLEATTRS statement:
proc sgplot data=sashelp.class;
styleattrs datacolors=(blue pink);
bubble x=height y=weight size=age / group=sex;
run;
For more complicated scenarios, discrete data maps are more powerful and flexible, as Warren said.
https://blogs.sas.com/content/graphicallyspeaking/2013/04/02/attribute-maps-1/
Discrete attribute maps.
If you know the order of the categories and you only want to do this one time, you can use the STYLEATTRS statement:
proc sgplot data=sashelp.class;
styleattrs datacolors=(blue pink);
bubble x=height y=weight size=age / group=sex;
run;
For more complicated scenarios, discrete data maps are more powerful and flexible, as Warren said.
Please post your log where the error appear?
The STYLEATTRS statement was added in SAS 9.4. , so if you are running an old version of SAS you would get an error like you are seeing.
Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.
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.