如何让geom_boxplot在计算箱线图之前应用y轴限制?

3

这是一个箱形图:

qplot(cyl, mpg, data=mtcars) +
  geom_boxplot() +
  scale_y_continuous()

图像如下所示: 输入图片描述

现在我对y轴添加了限制:

qplot(cyl, mpg, data=mtcars) +
  geom_boxplot() +
  scale_y_continuous(limits=c(0,20))

整个画面就会改变:

enter image description here

我如何获得与第一张相同的图片,只是用一个'视口'显示y=0到20?

那么..第二张图片是什么?它看起来实际上缺少数据(例如:cyl=4只有3-4个点)。


似乎没有cyl = 4mpg < 20的观测数据。 - joran
@joran:在顶部的图表中,似乎有3-4个黑点。 - dfrankow
1个回答

10

根据joran的评论,这个方法有效:

qplot(cyl, mpg, data=mtcars) +
  geom_boxplot() +
  coord_cartesian(ylim=c(0,20))

文档中得知:

有两种方式可以缩放绘图显示:使用比例尺或坐标系。它们的工作方式略有不同。

在比例尺上设置限制将丢弃所有不在这些限制范围内的数据。这等同于绘制原始数据的子集。

在坐标系上设置限制执行视觉缩放,数据不会改变,我们只是查看原始绘图的一小部分。

感谢joran!


1
你可能会发现使用 factor(cyl) 而不仅仅是 cyl 更有帮助。 - joran

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接