可能重复:
ggplot2条形图中的顺序条
我有一个数据集,我想要一个 ggplot 条形图来描述其中一个变量的比例,并根据另一个变量对条形图进行排序或排序。这是数据集的示例。
grouping,category,domain
6,W,ced0.11
1,none,ced1.1
2,none,ced1.1
3,Z,ced1.5
2,Z,ced1.7
3,Z,ced1.3
3,none,ced1.6
2,none,ced1.1
1,Z,ced1.1
4,none,ced0.8
4,W,ced0.6
4,W,ced0.6
2,Z,ced1.5
2,W,ced1.6
4,Y,ced0.16
3,Z,ced1.5
4,Y,ced0.15
4,W,ced0.15
4,Y,ced0.24
6,W,ced0.8
4,Y,ced0.4
4,none,ced0.19
4,W,ced0.5
4,W,ced0.10
4,W,ced0.9
4,W,ced0.3
1,Z,ced1.6
4,W,ced0.9
4,W,ced0.15
1,Z,ced1.1
4,Y,ced0.19
6,W,ced0.4
4,W,ced0.16
4,W,ced0.6
4,W,ced0.5
2,Z,ced1.7
4,W,ced0.9
4,Y,ced0.1
4,W,ced0.2
4,Y,ced0.21
2,W,ced0.3
4,Y,ced0.21
4,W,ced0.10
1,Z,ced1.2
4,Y,ced0.16
1,Z,ced1.2
1,Z,ced1.2
5,W,ced0.23
4,Y,ced0.1
以及下面用于导入和显示条形图的代码。
library(ggplot2)
ex1.dta <- read.csv("../../Datasets/ex1.txt",sep=",",header=TRUE)
#sort the data frame
ex1.dta2 <- transform(ex1.dta,domain=reorder(domain,category))
ggplot(ex1.dta2,aes(domain,fill=category)) +
geom_bar(position="fill") +
scale_y_continuous(name="Proportion") +
scale_x_discrete(name="domains") +
scale_fill_manual(values=c("#841108","#16a4e9","#a4a42a","#eb96ed","grey"),name="category") +
theme_bw() +
opts(
axis.text.x=theme_text(angle=-90,hjust=0),
axis.line = theme_segment(colour = "black"),
panel.grid.major = theme_blank(),
panel.grid.minor = theme_blank(),
panel.border = theme_blank()) +
geom_vline(xintercept = 0)
当我使用转换对数据框进行排序时,我收到警告并且不执行排序/排序。我真正想要的是排序,使每个类别的条沿 x 轴组合在一起(并按降序排列)。(所有棕色条一起,浅蓝色一起并以“分层方式”等等。)
我怎样才能做到这一点?我需要多次订购吗?任何想法?