首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ggplot2中-使用xlim()控制x轴时,如何确保geom_errorbar显示所有点的条形限制

在ggplot2中-使用xlim()控制x轴时,如何确保geom_errorbar显示所有点的条形限制
EN

Stack Overflow用户
提问于 2014-06-19 18:00:22
回答 2查看 2.1K关注 0票数 3

我正在使用ggplot2生成一个相当简单的比例图,该图与一个整数值预测值相对应。我使用geom_errorbar来显示每个点估计的不确定性。

例如:

代码语言:javascript
复制
require(ggplot2)
mydata <- data.frame(my_x = 70:99, 
                     my_y = seq(0.7,0.3,length.out=30), 
                     my_lower = seq(0.6,0.2,length.out=30), 
                     my_upper = seq(0.8,0.4,length.out=30))

ggplot(mydata,aes(x=my_x)) + geom_point(aes(y=my_y)) +
                           geom_errorbar(aes(ymin=my_lower, ymax=my_upper)) +
                           xlim(70,80)

出于很大的美学原因,我使用xlim()来设置x轴的限制(就像您一样)。但是这删除了指示最小和最大x值处的误差条的界限的水平线。我认为这是因为ggplot2试图在绘图区域之外绘制一条线(函数调用从geom_path打印一些关于缺少值的警告)。

我可以预先清除不需要的行的数据,或者在ggplot调用中包含一条subset语句,但我觉得在放大绘图时有/应该有一个更干净的解决方案。有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2014-06-19 18:09:54

有点老生常谈,但似乎很管用:

代码语言:javascript
复制
ggplot(mydata,aes(x=my_x)) + geom_point(aes(y=my_y)) +
                           geom_errorbar(aes(ymin=my_lower, ymax=my_upper)) +
                           coord_cartesian(xlim=c(69.5,80.5))
票数 3
EN

Stack Overflow用户

发布于 2014-06-19 19:58:53

您可以尝试减小错误条的宽度。

代码语言:javascript
复制
ggplot(mydata,aes(x=my_x)) + geom_point(aes(y=my_y)) +
                           geom_errorbar(aes(ymin=my_lower, ymax=my_upper),width=0.25)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24303861

复制
相关文章

相似问题

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