Hello,
I am making a simple bar graph (2 bars) and I would like each bar to be a different color. Below is the code I used to make the data set and the graph.
data new;
length cPLTL $9 ;
input percent cPLTL @@;
cards;
2.19 cPLTL
17.03 non-cPLTL
;
proc print data=new; run;
proc sgplot data=new;
styleattrs datacolors=(cx66FF66 cxFF6666);
vbar cPLTL / response=percent groupdisplay=cluster barwidth=.4;
yaxis label="Percent of unsuccessful students";
xaxis display=(nolabel);
run;
My issue is that the styleattrs command is not working. Can someone please show me what I am doing wrong? I would like to use the color naming system values to specify navy blue and bright orange, but I am aware that the colors in the code above don't specify that. I would also be open to learning a simpler way of assigning colors.
Thanks!
@mcmaxwell wrote:
Hello,
I am making a simple bar graph (2 bars) and I would like each bar to be a different color. Below is the code I used to make the data set and the graph.
data new; length cPLTL $9 ; input percent cPLTL @@; cards; 2.19 cPLTL 17.03 non-cPLTL ; proc print data=new; run; proc sgplot data=new; styleattrs datacolors=(cx66FF66 cxFF6666); vbar cPLTL / response=percent groupdisplay=cluster barwidth=.4; yaxis label="Percent of unsuccessful students"; xaxis display=(nolabel); run;
My issue is that the styleattrs command is not working. Can someone please show me what I am doing wrong? I would like to use the color naming system values to specify navy blue and bright orange, but I am aware that the colors in the code above don't specify that. I would also be open to learning a simpler way of assigning colors.
Thanks!
GROUPDISPLAY without a GROUP variable is hint as to what is not happening.
Add GROUP= cPLTL to the VBAR options to make each bar with a different color.
Had nothing to do with the STYLEATTRS but missing group.
@mcmaxwell wrote:
Hello,
I am making a simple bar graph (2 bars) and I would like each bar to be a different color. Below is the code I used to make the data set and the graph.
data new; length cPLTL $9 ; input percent cPLTL @@; cards; 2.19 cPLTL 17.03 non-cPLTL ; proc print data=new; run; proc sgplot data=new; styleattrs datacolors=(cx66FF66 cxFF6666); vbar cPLTL / response=percent groupdisplay=cluster barwidth=.4; yaxis label="Percent of unsuccessful students"; xaxis display=(nolabel); run;
My issue is that the styleattrs command is not working. Can someone please show me what I am doing wrong? I would like to use the color naming system values to specify navy blue and bright orange, but I am aware that the colors in the code above don't specify that. I would also be open to learning a simpler way of assigning colors.
Thanks!
GROUPDISPLAY without a GROUP variable is hint as to what is not happening.
Add GROUP= cPLTL to the VBAR options to make each bar with a different color.
Had nothing to do with the STYLEATTRS but missing group.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.
Ready to level-up your skills? Choose your own adventure.