Graphics Programming

Data visualization using SAS programming, including ODS Graphics and SAS/GRAPH. Charts, plots, maps, and more!
BookmarkSubscribeRSS Feed
celdelmas
Calcite | Level 5

Hi everyone,

 

I would like to konw if it is possible to create bar plots (VBARS for example) and set up the width of the bars according to a variable (the relative abundance of each category).

 

To illustrate my question, here is a plot from this paper (http://bit.ly/1nC991b)  (Figure 3b).

It is exactely the type of plot I need to do for a ungoing project!

undefined"

"The width of the bars represents relative abundance and the black component indicates the proportion of generalist feeders within the whole community: the higher the bar, the greater the proportion" 

Gámez-Virués, S., Perović, D. J., Gossner, M. M., Börschig, C., Blüthgen, N., de Jong, H., ... & Scherber, C. (2015). Landscape simplification filters species traits and drives biotic homogenization. Nature communications, 6.

 

Here is the (simplified) code for the plot I am working on:

Habit is a categorical variable with 2 values.

size is a categorical variable with 3 values

cate_col is a categorical variable with 2 values

FreqLFcol_cate is a table obtained with PROC FREQ 

 

 

proc sort data=trait; by habit size;run;proc freq data=trait;by habit size;table cate_flo / out=FreqLFcol_cate ;run;proc sgpanel data=FreqLFcol_cate;panelby habit ;vbar size / response=Percent group=cate_flo grouporder=data groupdisplay=stack;rowaxis label = 'Percentage of species ' ;colaxis label = 'size ';run;

I would to set up the width of the bars according to the relative abundance of species in the "size" variable as done by Gámez-Virués et al. 2015.

 

Do you think it is possible in SAS?

 

Thank you very much for your advices!

 

2 REPLIES 2
RW9
Diamond | Level 26 RW9
Diamond | Level 26

You may want to sort out your code box, its all on one line (i.e. put each code line on a newline, use indents etc.).  AS for your request, have a look here:

http://blogs.sas.com/content/graphicallyspeaking/

This has examples of every type of graph you can imagine.  For your type of graph, I would imagine polygon is probably the nearest:

http://blogs.sas.com/content/graphicallyspeaking/2013/12/24/new-polygon-plot/

celdelmas
Calcite | Level 5

Thank you for your quick reply, for some reason the code is all on one line, could not manage to change that.. not sure why.

I didn't know the polygon plots!! Looks perfect for my needs, I'll give it a try!

Thank you very much

 

sas-innovate-white.png

Our biggest data and AI event of the year.

Don’t miss the livestream kicking off May 7. It’s free. It’s easy. And it’s the best seat in the house.

Join us virtually with our complimentary SAS Innovate Digital Pass. Watch live or on-demand in multiple languages, with translations available to help you get the most out of every session.

 

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 3289 views
  • 0 likes
  • 2 in conversation