我想在用ggplot2
创建的堆叠面积图上添加错误条。
我的csv文件如下所示:
Day Cat Val Error
0 A 0 0.00
0 B 44.77 1.16
0 C 54.64 0.88
13 A 1.34 0.32
13 B 22.78 0.45
13 C 38.33 2.12
19 A 1.95 0.35
19 B 24.00 2.25
19 C 40.30 3.86
我试过这个:
ggplot(data=mydata, aes(x=Day,y=Val, group=Cat, fill=Cat,colour=Cat, ymax=Val + Error, ymin= Val - Error)) +
geom_area() +
geom_errorbar(width=.5, color="black")
我得到了这个:
我对图表的面积图部分很满意,但错误条不会堆叠在数据点上。
我刚刚开始使用R
,我真的不知道问题出在哪里。
此外,我找到了这个使用geom_segment
来避免栏之间重叠的tip,但我未能在此代码中使用它。
谢谢你帮我!
发布于 2013-04-18 06:37:34
你在堆叠你的数据,而不是你的错误条。要计算errorbar的ymin
和ymax
的堆叠版本,可以使用plyr
包的ddply
函数。
library(plyr)
mydata2 <- ddply(mydata,.(Day),transform,ybegin = cumsum(Val) - Error,yend = cumsum(Val) + Error)
ggplot(data=mydata2, aes(x=Day,y=Val, fill=Cat)) +
geom_area() +
geom_errorbar(aes(ymax=ybegin , ymin= yend ),width=.5, color="black")
输出:
https://stackoverflow.com/questions/16061780
复制相似问题