Data visualization with SAS programming

Multiple X axis

Reply
Contributor
Posts: 62

Multiple X axis

Hi all!

 

I want to make a graph: in the x axis i want to put month and lower year, and in Y axis rate.

 

How can I do it?

 

Thanks!

Super User
Posts: 19,167

Re: Multiple X axis

Do you mean multiple X axis or multiple labels on the X axis?

 

It helps if you show a picture and sample data that mimics your data.

Contributor
Posts: 62

Re: Multiple X axis

I have one variable that indicates month(1,2,3,4,5,..) and i have one variable that indicate year (2008, 2009,...). I want to see months and below each January (that would be 1) to see year
SAS Super FREQ
Posts: 925

Re: Multiple X axis

I think the easiest way to handle this case is to combine the two variables into a SAS date variable and use that variable in SGPLOT. Here is a simple example:

 

data datedata;
format newdate monyy.;
do year=2000 to 2002;
  do month=1 to 12;
      newdate = mdy(month,01,year);
      y=ranuni(123);
      output;
  end;
end;
run;

proc sgplot data=datedata;
scatter x=newdate y=y;
run;

Contributor
Posts: 62

Re: Multiple X axis

Thanks, but it doesn't do what i want, it shows just years, but I want to see months and years
SAS Super FREQ
Posts: 925

Re: Multiple X axis

Your data must contain at least several years worth the information. The system determined that the best format for your time axis was years. You can force it to months by adding this statement to your SGPLOT code;

 

xaxis interval=month;

 

Hope this helps!

Dan

Contributor
Posts: 62

Re: Multiple X axis

Sorry, it still doesnt work as I would like..it put year below month but I get this: 2008 below JAN, 2009 below APR, 2010 below FEB.....and I would love it to be like this:
2008 below JAN, 2009 below JAN, 2010 below JAN
SAS Super FREQ
Posts: 925

Re: Multiple X axis

Hmmm..  I'm not sure how you would get behavior. When I run the code I gave you from 2000 to 2005, I get the attached picture. Can you show us your SGPLOT code (without the data)?

 

Thanks!

Dan


dates1.png
SAS Super FREQ
Posts: 925

Re: Multiple X axis

Try this and see if this is what you want:

 

proc sgplot data=sashelp.air;
where date between '01jan1955'd and '01jan1957'd;
series x=date y=air;
run;

Ask a Question
Discussion stats
  • 8 replies
  • 599 views
  • 0 likes
  • 3 in conversation