Skip to content

Plotting Factors -- Sorting x-axis

2 messages · Ko-Kang Kevin Wang, Marc Schwartz

#
Hi,

Say I have a factor with 20-levels: 1, 2, 3, ..., 20, called foo.

If I do 
  plot(foo)
it will draw a barplot.  But the x-axis is sorted alphanumerically, i.e. 
1, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2, 3, ..., 9, which is not what 
I want.  I'd like to x-axis to be in the order of 1 ~ 20 numerically.  So, 
the question is, how do I change the order on the x-axis in this case?
#
case?
How about this:

# Create vector as you have with chars
# Note the factor level values
[1] 1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16 17 18
[19] 19 20
20 Levels: 1 10 11 12 13 14 15 16 17 18 19 2 20 3 4 ... 9

# Now sort factor levels by numeric value
# Note the factor level values
[1] 1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16 17 18
[19] 19 20
20 Levels: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 20

Now plot(x).

Hope that helps.

Marc Schwartz