首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ggplot2 geom_rug重新缩放未使用的轴-如何停止此操作?

ggplot2 geom_rug重新缩放未使用的轴-如何停止此操作?
EN

Stack Overflow用户
提问于 2013-02-28 10:51:23
回答 1查看 548关注 0票数 2

我正在绘制一条geom_smooth线,并希望添加一条地毯。Y的可变性比平均值大得多,因此当只绘制平滑线时,y尺度从实际数据范围减小。当我在底部添加一块地毯时,它会重新缩放y轴,就好像y轴上也有一块地毯一样,这使得很难看到平滑线条之间的关系。

示例:

代码语言:javascript
复制
ggplot(diamonds, aes(y=carat, x=price, color=cut)) + 
    geom_smooth(se=F, method='lm')

上面的操作将y轴缩放到大约0到3的范围。

仅将地毯添加到底部:

代码语言:javascript
复制
ggplot(diamonds, aes(y=carat, x=price, color=cut)) + 
        geom_smooth(se=F, method='lm') + geom_rug(sides='b')

Y轴现在缩放到5,即使在3以上没有绘制任何内容。

我知道我可以手动调整轴比例,但我希望能够针对大量变量动态调整,但似乎这种行为是不正确的。因此,我假设我没有正确地使用它。我是不是漏掉了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-28 14:06:14

你可以看到y轴的这种奇怪的行为,因为克拉的值是5。这可以通过使用geom_point()来看到。当您使用geom_rug()时,它会查找所有点,并为每个实际值绘制rug。sided="b"的设置只隐藏y侧的地毯,但该侧用于地毯的空间保持不变。

代码语言:javascript
复制
ggplot(diamonds, aes(y=carat, x=price, color=cut)) + 
  geom_point() + geom_smooth(se=F, method='lm') + geom_rug()

您可以使用coord_cartesian()和设置参数ylim=将y轴缩放到所需的限制。

代码语言:javascript
复制
ggplot(diamonds, aes(y=carat, x=price, color=cut)) + 
  geom_smooth(se=F, method='lm') + geom_rug(sides='b')+
   coord_cartesian(ylim=c(0,3))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15126613

复制
相关文章

相似问题

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