BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
mcmaxwell
Fluorite | Level 6

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!

1 ACCEPTED SOLUTION

Accepted Solutions
ballardw
Super User

@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.

 

View solution in original post

1 REPLY 1
ballardw
Super User

@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.

 

SAS Innovate 2025: Call for Content

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!

Submit your idea!

How to Concatenate Values

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 1 reply
  • 1227 views
  • 0 likes
  • 2 in conversation