ggplot2去除箱型图中的离群点

我们在用ggplot2的箱型图boxplot()可视化时会发现,部分特别异常的离群点导致箱型图自身被压缩的很扁,而我们一般更关注箱型图本身。因此,我们需要在不影响箱型图自身的分布的同时去除这些离群点

方法1——通过geom_boxplot()中的参数设置

我们可以通过箱型图函数geom_boxplot()中的参数设置来不显示这些离群点:

1
geom_boxplot(outlier.shape = NA)

或者

1
geom_boxplot(outlier.colour = NA)

但是这个方法不能满足我们的需求,这里虽然离群点都不再显示了,但是箱型图本身却没有被放大,没有达到我们的目的。

方法2——通过位置标度设置

我们可以通过位置标度函数scale_y_continuous()来改变y轴范围:

1
scale_y_continuous(limits = c(0,2e+8))

这个方法把处于范围外的数据点也删除了,然后在新设置的范围内重新计算绘图,这很可能会改变最后绘制的箱型图。这个方法也不能达到我们的目的。

方法3——笛卡尔坐标系变换

我们可以用笛卡尔坐标系变换函数coord_trans()对图进行放大:

1
coord_trans(x = "identity", y = "identity", limx = NULL, limy = c(0,2e+8))

这个方法比较完美的解决了我的问题。


----------- 本文结束啦感谢您阅读 -----------

赞赏一杯咖啡

欢迎关注我的其它发布渠道