Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ggplot2 geom_rug重新调整未使用的轴-如何停止此操作?_R_Ggplot2 - Fatal编程技术网

ggplot2 geom_rug重新调整未使用的轴-如何停止此操作?

ggplot2 geom_rug重新调整未使用的轴-如何停止此操作?,r,ggplot2,R,Ggplot2,我正在绘制一条geom_smooth线,并想添加一块地毯。y可变性比平均值大得多,因此,当仅绘制平滑线时,y比例从实际数据范围减小。当我在底部添加地毯时,它会重新缩放y轴,就像y轴上也有地毯一样,这使得很难看到平滑线之间的关系 例如: ggplot(diamonds, aes(y=carat, x=price, color=cut)) + geom_smooth(se=F, method='lm') 以上内容将y轴缩放到大约0到3的范围 仅在底部添加地毯: ggplot(diamon

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

例如:

ggplot(diamonds, aes(y=carat, x=price, color=cut)) + 
    geom_smooth(se=F, method='lm')
以上内容将y轴缩放到大约0到3的范围

仅在底部添加地毯:

ggplot(diamonds, aes(y=carat, x=price, color=cut)) + 
        geom_smooth(se=F, method='lm') + geom_rug(sides='b')
y轴现在已按比例放大到5,即使在3上方未绘制任何图形

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

由于克拉数值高达5,所以y轴出现了这种奇怪的行为。这可以通过使用
geom_point()
看到。当您使用
geom_rug()
时,它会查看所有点并为每个实际值绘制rug。设置
sided=“b”
仅隐藏y侧的地毯,但该侧地毯的空间保持不变

ggplot(diamonds, aes(y=carat, x=price, color=cut)) + 
  geom_point() + geom_smooth(se=F, method='lm') + geom_rug()

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

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))