如何将标有数字的子图按正确顺序排序?

how to get subplots labelled with a number into right order?

我想绘制几个并排的条形图。
我的子图根据列 "meter" 进行标记。我想让它们按增加的顺序排列。不幸的是,如果我有 350-400 meter 的样本,则首先绘制以 1 开头的样本(例如 1400-1450)。一些meter-labels加-1,-2貌似不影响顺序,但可能是解决第一个问题的问题。
希望这很清楚,感谢您的帮助。

这是我的代码

qplot(group, geom="bar", data=KANAL, weight=count, facets=.~meter, xlab="Korngrösse in [cm]",ylab="Anzahl", main="Korngrössenverteilung des Substrats in der kanalisierte Strecke") +
theme(axis.text.x = element_text(angle = 90, v = 1), text =element_text(size = 20)) +
scale_x_discrete(breaks=c("a", "b", "c", "d", "e"), labels=c("1-4 cm","4-7 cm","7-10 cm", "10-20 cm", "20-30 cm")) +
scale_y_continuous(limits=c(0, 250))

这是我的数据样本:

Strecke group   count   meter
N       a       86      0-50
N       b       38      0-50
N       c       17      0-50
N       d       12      0-50
N       e        0      0-50
N       a      165      350-400 
N       b        4      350-400
N       c        2      350-400
N       d        2      350-400
N       e        0      350-400
N       a      167      1250-1300 
N       b       23      1250-1300 
N       c        4      1250-1300 
N       d        0      1250-1300 
N       e        0      1250-1300 
N       a       67      1400-1450-1
N       b       55      1400-1450-1
N       c       20      1400-1450-1
N       d       18      1400-1450-1
N       e        9      1400-1450-1  
N       a      207      1400-1450-2
N       b       10      1400-1450-2 
N       c        0      1400-1450-2
N       d        0      1400-1450-2
N       e        0      1400-1450-2
N       a       77      1450-1500
N       b       76      1450-1500
N       c       14      1450-1500
N       d        5      1450-1500
N       e        0      1450-1500

您只需要将您的 meter 列格式化为排序级别的一个因素:

KANAL$meter<-factor(KANAL$meter,levels=c("0-50","350-400","1250-1300","1400-1450-1","1400-1450-2","1450-1500"),ordered=T)

然后只需传递您的 qplot 代码,类别就会正确排序: