首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用ggplot2实现堆积面积图上的误差条

用ggplot2实现堆积面积图上的误差条
EN

Stack Overflow用户
提问于 2013-04-17 21:45:06
回答 1查看 1.2K关注 0票数 2

我想在用ggplot2创建的堆叠面积图上添加错误条。

我的csv文件如下所示:

代码语言:javascript
运行
复制
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

我试过这个:

代码语言:javascript
运行
复制
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,但我未能在此代码中使用它。

谢谢你帮我!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-18 14:37:34

你在堆叠你的数据,而不是你的错误条。要计算errorbar的yminymax的堆叠版本,可以使用plyr包的ddply函数。

代码语言:javascript
运行
复制
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") 

输出:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16061780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档