BookmarkSubscribeRSS Feed
radhikaa4
Calcite | Level 5

Hello,

 

I need help with creating 1) horizontal stacked bar chart and then 2) giving certain RGB color to a scale:

 

here is the dataset I have:

treatment_group

scale

percent

drug

0

.

drug

1

2.5

drug

2

2.5

drug

3

12.5

drug

4

24.2

drug

5

23.3

drug

6

9.2

drug

7

25.8

control

0

.

control

1

0.4

control

2

6.0

control

3

12.0

control

4

25.7

control

5

24.1

control

6

12.4

control

7

19.3

 

I would like to create a stacked bar graph HORIZONTAL. Right now, I have it vertical.

 

proc sgplot data=a.FreqOut;

 

vbar treatment_group/ response=Percent group=scale groupdisplay=stack;

xaxis discreteorder=data;

yaxis grid values=(0 to 100 by 10) label="Percentage of Total";

run;

 

Also for Each scale, I would like to give a RGB color

For examples

- Scale 7 should have certain color:cx9999ff
- Scale 6 should have certain color=cx993366

- Scale 5 should have certain color=cxffffcc

 

I tried but no luck!

pattern1 v=solid color=cx9999ff; 
pattern2 v=solid color=cx993366; 
pattern3 v=solid color=cxffffcc; 

 

Any help would be appreciated!!

2 REPLIES 2
radhikaa4
Calcite | Level 5

Hello,

 

I need help with creating 1) horizontal stacked bar chart and then 2) giving certain RGB color to a scale:

 

here is the dataset I have:

treatment_group

scale

percent

drug

0

.

drug

1

2.5

drug

2

2.5

drug

3

12.5

drug

4

24.2

drug

5

23.3

drug

6

9.2

drug

7

25.8

control

0

.

control

1

0.4

control

2

6.0

control

3

12.0

control

4

25.7

control

5

24.1

control

6

12.4

control

7

19.3

 

I would like to create a stacked bar graph HORIZONTAL. Right now, I have it vertical.

 

proc sgplot data=a.FreqOut;

 

vbar treatment_group/ response=Percent group=scale groupdisplay=stack;

xaxis discreteorder=data;

yaxis grid values=(0 to 100 by 10) label="Percentage of Total";

run;

 

Also for Each scale, I would like to give a RGB color

For examples

- Scale 7 should have certain color:cx9999ff
- Scale 6 should have certain color=cx993366

- Scale 5 should have certain color=cxffffcc

 

I tried but no luck!

pattern1 v=solid color=cx9999ff; 
pattern2 v=solid color=cx993366; 
pattern3 v=solid color=cxffffcc; 

 

Any help would be appreciated!!

Reeza
Super User

You posted this in SAS VA, are you using SAS Visual Analytics, which is a GUI interface or programming in Base?

 

Assuming you're using Base - Pattern statements apply to SAS/GRAPH not SGPLOT. You can use the STYLEATTRS() to control the colour. You may want a data attribute map, but try adding the following statement after your SGPLOT statement, but before your VBAR statement. 

 

styleattrs datacolors=(cx9999ff cs993366 cxffffcc);

@radhikaa4 wrote:

Hello,

 

I need help with creating 1) horizontal stacked bar chart and then 2) giving certain RGB color to a scale:

 

here is the dataset I have:

treatment_group

scale

percent

drug

0

.

drug

1

2.5

drug

2

2.5

drug

3

12.5

drug

4

24.2

drug

5

23.3

drug

6

9.2

drug

7

25.8

control

0

.

control

1

0.4

control

2

6.0

control

3

12.0

control

4

25.7

control

5

24.1

control

6

12.4

control

7

19.3

 

I would like to create a stacked bar graph HORIZONTAL. Right now, I have it vertical.

 

proc sgplot data=a.FreqOut;

 

vbar treatment_group/ response=Percent group=scale groupdisplay=stack;

xaxis discreteorder=data;

yaxis grid values=(0 to 100 by 10) label="Percentage of Total";

run;

 

Also for Each scale, I would like to give a RGB color

For examples

- Scale 7 should have certain color:cx9999ff
- Scale 6 should have certain color=cx993366

- Scale 5 should have certain color=cxffffcc

 

I tried but no luck!

pattern1 v=solid color=cx9999ff; 
pattern2 v=solid color=cx993366; 
pattern3 v=solid color=cxffffcc; 

 

Any help would be appreciated!!




sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

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
  • 2 replies
  • 1272 views
  • 0 likes
  • 2 in conversation