📅  最后修改于: 2023-12-03 14:47:11.908000             🧑  作者: Mango
箱线图(Box plot)也叫盒须图(box-whisker plot),是用来观察一组数据的离散情况的统计图形。箱线图最主要的功能是直观地展现出一组数据的五数概括(最小值、第一四分位数、中位数、第三四分位数和最大值)、离散点和异常值。
绘制简单的箱线图可以使用R中自带的boxplot()
函数。boxplot()
函数可以接受向量、数据框或矩阵等类型的数据作为输入。下面是使用boxplot()
函数绘制一个随机生成的向量的箱线图的代码:
# 生成随机数据
set.seed(123)
data <- rnorm(n = 100, mean = 0, sd = 1)
# 绘制箱线图
boxplot(data)
运行代码后,我们会得到一个简单的箱线图,如下图所示:
从图中可以看出,这组随机数据的中位数(红线)在0左右,第一四分位数(Q1)在-0.5左右,第三四分位数(Q3)在0.5左右,离群值(黑点)没有太多。这个例子比较简单,下面我们将会介绍如何对箱线图进行进一步的定制。
我们可以对箱线图进行多种定制,包括修改箱体和离群值的颜色、修改轴标签、添加标题和图例等。下面通过一些例子来说明。
我们可以使用参数boxfill
和outfill
来修改箱体和离群值的颜色。下面的代码将箱体颜色设置为绿色,离群值颜色设置为红色:
# 生成随机数据
set.seed(123)
data <- rnorm(n = 100, mean = 0, sd = 1)
# 定制箱线图
boxplot(data,
boxfill = "green", # 箱体颜色
outfill = "red") # 离群值颜色
运行代码后,我们会得到一个箱体为绿色、离群值为红色的箱线图,如下图所示:
我们可以使用函数labs()
来修改轴标签。下面的代码将x轴标签修改为“数据”,y轴标签修改为“值”:
# 生成随机数据
set.seed(123)
data <- rnorm(n = 100, mean = 0, sd = 1)
# 定制箱线图
boxplot(data,
xlab = "", # 取消默认的x轴标签
ylab = "", # 取消默认的y轴标签
main = "Box Plot of Data", # 添加主标题
boxfill = "green",
outfill = "red")
# 修改x轴和y轴标签
labs(x = "Data", y = "Value")
运行代码后,我们会得到一个带有自定义x轴和y轴标签的箱线图,如下图所示:
我们可以使用函数title()
、legend()
分别添加标题和图例。下面的代码将添加一个上方居中的标题和一个位于右上角的图例:
# 生成随机数据
set.seed(123)
data1 <- rnorm(n = 100, mean = 0, sd = 1)
data2 <- rnorm(n = 100, mean = 1, sd = 1)
# 定制箱线图
boxplot(data1, col = "green3")
boxplot(data2, col = "blue3", add = TRUE)
# 添加标题
title(main = "Box Plot of Data",
sub = "Group 1 (green) and Group 2 (blue)")
# 添加图例
legend("topright",
legend = c("Group 1", "Group 2"),
fill = c("green3", "blue3"))
运行代码后,我们会得到一个带有标题和图例的箱线图,如下图所示: