横越x轴的堆积条形图

诺登斯基尔德

朋友,如何在x轴的两侧创建堆叠的条形图(最好在ggplot2中)?

范例:http//s23.postimg.org/3lbgicb3f/Example.png

我到处搜寻,但是找不到任何好的例子。数据由两个位置(1和2)组成,具有5个不同类别(A,B,C,R和S)的值(权重)。A,B和C应该在x轴的顶部,而R和S应该在下面绘制。注意x轴两侧的正值。没关系,错误栏。

示例数据:

Type=c("A","B","C","R","S","A","B","C","R","S")
Location=c(1,1,1,1,1,2,2,2,2,2)
Value=c(2,6,5,3,2.5,6,3,2,4,1.5)
df=data.frame(Type, Location, Value)
df$Location <- as.factor(df$Location)

任何指针将不胜感激,Nordenskiold

耶洛华德

这是与@BrodieG非常相似的另一种方法,它不需要创建任何新的数据帧。

library(plyr)
library(ggplot2)
ggplot(df, aes(x=Location, fill=Type))+
  geom_bar(subset=.(Type %in% c("A","B","C")), aes(y=Value))+
  geom_bar(subset=.(Type %in% c("R","S")), aes(y=-Value))+
  geom_hline(yintercept=0, linetype=2)+
  scale_y_continuous(labels=abs)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章