如何将标有数字的子图按正确顺序排序?
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
代码,类别就会正确排序:
我想绘制几个并排的条形图。
我的子图根据列 "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
代码,类别就会正确排序: