- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hi, I'm trying to to a VBOX PLOT.
I have a data set like: I have 24 intervals, I1-I24
_LABEL_ COL1
I1 0
I1 4
I10 7
I10 7
I11 6
I11 5
....
I8 4
I8 6
I9 4
I9 5
I has to sort it to transpose my data.
When I run:
proc sgplot data=mergedt;
vbox COL1/ category=_LABEL_;
xaxis grid label="Interval" discreteorder=data;
yaxis grid label="XX";
run;
My plot in xaxis is I1 I10 I11 I12 .. I19 I2 20 I21 .. I24 I3 I4 ..I9
I need my xaxis like I1 I2 I3 I4 ..... I23 I24
I have try with discreteorder=format or unformart and it is the same result. Any idea to "unsort it" or have the xaxis in numeric order?
Thanks
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
The typical solution is a custom format. Map each Label to a numeric variable that sorts correctly and then a format that maps to the variable you want displayed.
Proc format;
value Icat
1= 'I1'
2='I2'
...
24='I24';
proc SGPLOT ...;
....
format label icat.;
run;quit;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
The typical solution is a custom format. Map each Label to a numeric variable that sorts correctly and then a format that maps to the variable you want displayed.
Proc format;
value Icat
1= 'I1'
2='I2'
...
24='I24';
proc SGPLOT ...;
....
format label icat.;
run;quit;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Or use Proc Sort to sort the data with the SORTSEQ option Linguistic with Numeric_Collation=On