控制ggplot中堆积条形图的顺序

时间:2016-10-24 03:37:26

标签: r ggplot2 geom-bar

我知道ggplot2中有关堆积条形图中排序条的一般主题有几个问题,但我没有找到与此问题相关的问题。

这是我的榜样:

d <- data.table(q=c(1,2,3,1,2,3,1,2,3), p=factor(c('W', 'W', 'W', 'C', 'C', 'C', 'I', 'I', 'I'), levels=c('W','C','I')), pct=c(0.4, 0.3, 0.45, 0.5, 0.4, 0.35, 0.1, 0.3, 0.2))

我的目标是堆积条形图,q是x轴变量,pct值是堆叠的。我希望堆栈的顺序对应于p中的值,顺序为W,C,I。

ggplot(data=d) + geom_bar(aes(x=q, y=pct, fill=p), stat='sum')

给出了错误的结果;每个堆叠条形图中的排序顺序似乎由pct。

中的值决定
ggplot(data=d, aes(x=q, y=pct)) + geom_bar(aes(fill=p), stat='sum')

给出了期望的结果。万岁!但是,我想进一步格式化我的图表;具体来说,我想格式化y轴的标签。但

ggplot(data=d) + geom_bar(aes(x=q, y=pct, fill=p), stat='sum') + scale_y_continuous(labels=percent)

会产生不同的排序顺序。我无法弄清楚如何实现我想要的排序顺序和格式!

包版本:ggplot2_2.0.0

0 个答案:

没有答案