Data visualization with SAS programming

Multiple Bar charts side by side

Accepted Solution Solved
Reply
Contributor
Posts: 27
Accepted Solution

Multiple Bar charts side by side

Hi,

 

I want to plot a graph to compare the real sales and planned sales over the years, the original dataset is  

YearDesiredReal
2006987689
2007588827
2008313150
2009716349
2010575376
2011686979
2012189288
2013509112
2014741828
2015309967

I wonder if there is any possible ways in SAS to get the same effects as in the following graph.

 

Multiple Bar charts side by side.png

 

 


Multiple Bar charts side by side.png

Accepted Solutions
Solution
‎06-15-2016 09:00 PM
SAS Super FREQ
Posts: 925

Re: Multiple Bar charts side by side

Here you go:

 

data sales;
input Year Desired Real;
cards;
2006 987 689
2007 588 827
2008 313 150
2009 716 349
2010 575 376
2011 686 979
2012 189 288
2013 509 112
2014 741 828
2015 309 967
;
run;

proc sgplot data=sales;
vbarparm category=Year response=Desired / discreteoffset=-0.17 barwidth=0.3;
vbarparm category=Year response=Real / discreteoffset=0.17 barwidth=0.3;
run;

View solution in original post


All Replies
Occasional Contributor
Posts: 13

Re: Multiple Bar charts side by side

You can use PROC SGPANEL after you play with your data a little bit - that will give you graphs like you want

SAS Super FREQ
Posts: 3,630

Re: Multiple Bar charts side by side

of course. Transpose the data from "wide form" to "long form" and use PROC SGPLOT like this:

 

data Have;
input Year Desired Real ;
datalines;
2006 987 689 
2007 588 827 
2008 313 150 
2009 716 349 
2010 575 376 
2011 686 979 
2012 189 288 
2013 509 112 
2014 741 828 
2015 309 967 
;

data Want;
set Have;
Group = "Desired"; Value = Desired; output;
Group = "Real   "; Value = Real; output;
drop Desired Real;
run;

proc sgplot data=Want;
vbar Year / response=Value group=Group groupdisplay=cluster;
run;
Contributor
Posts: 27

Re: Multiple Bar charts side by side

Hi, Rick

 

Thanks for your reply, it really works. I really appreciate it , but I don't know how to accept both two replies as solutions.

SAS Super FREQ
Posts: 3,630

Re: Multiple Bar charts side by side

You can only accept one solution, so give "Likes" to other helpful coments and post a comment (which you have already done!) that indicates that another answer also works.   Many times in SAS there are three or four ways to solve the same problem.

 

I'm glad your problem is resolved.

Contributor
Posts: 27

Re: Multiple Bar charts side by side

Hi, Rick

Under SAS 9.2, there is no groupdisplay option in the VBAR statement, so is there another way to get the desired graph under SAS 9.2? Thanks a lot.
Solution
‎06-15-2016 09:00 PM
SAS Super FREQ
Posts: 925

Re: Multiple Bar charts side by side

Here you go:

 

data sales;
input Year Desired Real;
cards;
2006 987 689
2007 588 827
2008 313 150
2009 716 349
2010 575 376
2011 686 979
2012 189 288
2013 509 112
2014 741 828
2015 309 967
;
run;

proc sgplot data=sales;
vbarparm category=Year response=Desired / discreteoffset=-0.17 barwidth=0.3;
vbarparm category=Year response=Real / discreteoffset=0.17 barwidth=0.3;
run;
☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 6 replies
  • 402 views
  • 3 likes
  • 4 in conversation