BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
Junyong
Pyrite | Level 9

SGPLOT VBAR is drawing all the 50 bars needed, but can I just apply label intervals to the x-axis below so that it changes from 1, 2, 3, …, 48, 49, 50 to 5, 10, 15, …, 40, 45, 50, for example?

data SAMPLE;
    call streaminit(1);
    do X=1 to 50;
        do ITERATION=1 to 50;
            Y=rand('normal',X,X);
            output;
        end;
    end;
run;

ods results=off;
ods listing gpath='!userprofile\desktop\';
ods graphics/reset imagename='SGPLOT';

proc sgplot;
    vbar X/response=Y stat=mean limits=both;
run;

SGPLOT.png

Thanks for your help!

1 ACCEPTED SOLUTION

Accepted Solutions
FreelanceReinh
Jade | Level 19

Hello @Junyong,

 

First of all, thank you very much for providing readily usable example data and code.

 

I think adding this XAXIS statement to your PROC SGPLOT step will help:

xaxis values=(5 to 50 by 5) type=linear valueshint;

The default axis type in your case would be DISCRETE, not LINEAR, so that the VALUES= specification alone would also restrict the set of bars drawn. Without the VALUESHINT option SAS would not leave enough space for the bars with X values less than the first tick mark value (5).

View solution in original post

1 REPLY 1
FreelanceReinh
Jade | Level 19

Hello @Junyong,

 

First of all, thank you very much for providing readily usable example data and code.

 

I think adding this XAXIS statement to your PROC SGPLOT step will help:

xaxis values=(5 to 50 by 5) type=linear valueshint;

The default axis type in your case would be DISCRETE, not LINEAR, so that the VALUES= specification alone would also restrict the set of bars drawn. Without the VALUESHINT option SAS would not leave enough space for the bars with X values less than the first tick mark value (5).

sas-innovate-wordmark-2025-midnight.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.


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
  • 1 reply
  • 814 views
  • 0 likes
  • 2 in conversation