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.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.