当我在ggplot geom_bar中绘制数据时,我无法正确获取数据顺序
这是我的剧本。我不是一个自然的编码器,我正在努力获得R的支持,但它为我的生态学研究产生了如此好的结果。我知道我的剧本如果笨重但是它完成了工作(几乎!)
data<- read.csv(file.choose(), header=TRUE)
data
Boat Movement X.
1 A Never 52
2 A Rarely 19
3 A Most trips 8
4 A Every trip 22
5 B Never 0
6 B Rarely 21
7 B Most trips 14
8 B Every trip 64
9 C Never 22
10 C Rarely 33
11 C Most trips 11
12 C Every trip 33
13 D Never 22
14 D Rarely 22
15 D Most trips 11
16 D Every trip 44
a<-ggplot(data=data, aes(x=Boat, y=X., fill=Movement))
+ geom_bar(stat="identity", position=position_dodge()) +
(xlab("Boat type")) + (ylab("% Movement")) + (theme(legend.position=c(.92, .9)))
+ (scale_fill_manual(values=c("#D55E00", "#CC79A7", "#56B4E9", "#009E73")))
+ theme(axis.title.x = element_blank(), axis.text.x = element_text(size=15),
axis.title.y = element_text(size=25), axis.text.y = element_text(size=15))
+ scale_x_discrete(breaks=c("A","B","C", "D"),labels=c("L","P","K","O"))
a
这是我一直在使用的代码片段,我得到的是条形图。麻烦的是我无法在我的4组中每个组中排序。他们按顺序出现&#39;每次旅行,大多数旅行,从不,很少&#39;即使我的数据被订购,也要在每个群组内进行排序&#39;从不,很少,大多数旅行,每次旅行都是如此。如何让我的绘图以文件中的顺序显示数据?
有人可以建议添加文本补丁来排序我的订单吗?
关于如何简化脚本的任何建议也将受到赞赏。
我使用了@Henrik建议的新代码
data$Movement <- factor(data$Movement, levels = c("Never", "Rarely",
"Most_trips", "Every_trip"))
ggplot(data=data, aes(x=Boat, y=X., fill=Movement))
+ geom_bar(stat="identity", position=position_dodge())
我仍然得到数据在条形图中显示错误的顺序。它发生在我的原始代码和更新的代码中。在这个output picture中,标有红色箭头的条形代表罕见数据,而不是Never数据,尽管传说中的内容,但它们的顺序错误,紫色条应该出现在绿松石之前,尽管这些数据不是在文件中以这种方式订购。