首页 > 解决方案 > ggplot boxplot:异常值太多?

问题描述

该数据集可在此处获得,但我仅使用 2010 年至 2016 年的数据集作为子集:https ://www.kaggle.com/heesoo37/120-years-of-olympic-history-athletes-and-results/

我正在尝试使用箱线图绘制不同性别的高度,并返回此图:

在此处输入图像描述
我觉得这是不正确的,因为异常值太多......(平均值=175,最小值=133,最大值=221)。我想知道是否需要调整 Y 轴以在此箱线图中包含更多数据点?如果是这样,我该怎么做?

这是我的代码:

ggplot(data = olympics, aes(x = Sex, y = Height) +
 geom_boxplot() +
 labs(title= "Height Distribution of Olympics Athletes by Gender")

另外,我想知道是否也可以用基本 R 语言绘制这样的图?谢谢!

标签: rggplot2

解决方案


欢迎来到stackoverflow @VanLindert。获得帮助的最好方法是给我们运行代码来复制问题。datapasta和包使这reprex很容易做到。https://reprex.tidyverse.org/articles/articles/datapasta-reprex.html

我怀疑正在发生的事情是您正在重新调整 y 轴限制并且箱线图不断变化。当您使用plot + scale_y_continuous(limits = c(130, 225))或速记plot + ylim(130, 225)ggplot 过滤掉高于/低于 130 和 225 的值时,四分位数会重新计算。如果您只想将绘图放大到特定范围,您可以使用

plot + coord_cartesian(ylim = c(130, 225))


推荐阅读