📜  如何在 R 中制作并排箱线图?(1)

📅  最后修改于: 2023-12-03 15:24:20.810000             🧑  作者: Mango

如何在 R 中制作并排箱线图?

箱线图是一种常用的展示数据分布情况的图表,可以用来展示数据的中位数、四分位数、离群值等信息。在 R 中,我们可以使用 ggplot2 包来创建并排箱线图,下面将介绍如何制作并排箱线图。

准备数据

首先,我们需要准备一组数据,以 iris 数据集为例:

library(ggplot2)
data(iris)
制作单个箱线图

为了方便演示,我们先制作单个箱线图。首先,我们需要使用 ggplot2 包的 ggplot() 函数创建一个绘图空间,然后使用 geom_boxplot() 函数添加箱线图。下面是制作单个箱线图的代码:

ggplot(iris, aes(x = Species, y = Sepal.Length)) +
  geom_boxplot()

以上代码中,ggplot() 函数的第一个参数是数据集,aes() 函数用于映射变量到图形属性,x 参数指定分组变量,y 参数指定数值变量。

制作并排箱线图

接下来,我们需要使用 facet_wrap() 函数来实现并排箱线图。facet_wrap() 函数用于将图形分成多个子图,并按照指定的变量进行分组。下面是制作并排箱线图的代码:

ggplot(iris, aes(x = Species, y = Sepal.Length)) +
  geom_boxplot() +
  facet_wrap(~Species, ncol = 3)

以上代码中,facet_wrap() 函数的第一个参数是分组变量,ncol 参数指定每行显示的子图个数。

修改箱线图样式

最后,我们可以通过修改参数来改变箱线图的样式,比如调整箱线、离群值、颜色、标记等。下面是一些常用的参数设置:

ggplot(iris, aes(x = Species, y = Sepal.Length)) +
  geom_boxplot(outlier.shape = NA, colour = "blue", fill = "lightblue", size = 1.5) +
  geom_jitter(position = position_jitter(width = 0.2), colour = "blue", size = 2.5) +
  scale_y_continuous(limits = c(3,9), expand = c(0,0)) +
  facet_wrap(~Species, ncol = 3)

以上代码中,outlier.shape 参数用于指定离群值的形状,colourfill 参数用于指定线条和填充颜色。geom_jitter() 函数用于添加小点,size 参数指定大小,position_jitter() 参数用于添加随机噪音。scale_y_continuous() 函数用于设置 y 轴范围和缩放比例,limits 参数指定范围,expand 参数用于调整图形周围空白区域的大小。

通过以上步骤,我们就可以制作出漂亮的并排箱线图了。