Graphics Programming

Data visualization using SAS programming, including ODS Graphics and SAS/GRAPH. Charts, plots, maps, and more!
BookmarkSubscribeRSS Feed
echoli
Obsidian | Level 7

Hi All,

 

I am trying to complete a boxplot, but the group order in figure is not what I want. As in the figure below, I want the group order is E9.5, E10.5, E11.5. And here is my code:

 

proc sgplot data=lab;
vbox lin__1 / category=group group=group gropdisplay=cluster
lineattrs=(pattern=solid) whiskerattrs=(pattern=solid);
xaxis display=(nolabel);
yaxis grid;
run;

 

Any way can change it?

 Thanks,

Chen

 undefined

3 REPLIES 3
Rick_SAS
SAS Super FREQ

Lots of options, but a simple way is to sort the data in the data set and then use

the GROUPORDER=DATA option on the VBOX statement.

Rick_SAS
SAS Super FREQ

Another option is to use CATEGORY= instead of GROUP=.  Then you can set the values by using the XAXIS statement, as this example shows:


proc sgplot data=sashelp.cars;
   vbox mpg_city / category=origin;
   xaxis type=discrete values=('USA' 'Asia' 'Europe');
run;
djrisks
Barite | Level 11

Hi Chen,

 

You can try out the grouporder option within vbox. Another options that will definitely work is to create a format based on the variable group. So you can create a numeric column based on group, i.e. groupn, and that will have the values, 1, 2 and 3. Then you can use that numeric variable in the plot: i.e. 

 

proc format;

  value grouporder 1 = "E9.5"

                              2 = "E10.5"

                              3 = "E11.5";

run;

 

proc sort data = lab;

  by groupn;

run;

 

proc sgplot data=lab;
vbox lin__1 / category=groupn group=groupn gropdisplay=cluster
lineattrs=(pattern=solid) whiskerattrs=(pattern=solid);
xaxis display=(nolabel);
yaxis grid;

format groupn grouporder.;
run;

 

 

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
  • 3 replies
  • 11058 views
  • 1 like
  • 3 in conversation