使用 Matplotlib 在 Python 中绘制箱线图

2025年3月17日 | 阅读 3 分钟

什么是箱线图?

箱线图是一种通过箱体和一些竖线来可视化数据分布的方法。它也被称为须线图。数据可以分布在五个关键范围内,如下所示:

  1. 最小值:Q1-1.5*IQR
  2. 第一四分位数 (Q1):25%分位数
  3. 中位数:50%分位数
  4. 第三四分位数(Q3):75%分位数
  5. 最大值:Q3+1.5*IQR

这里的 IQR 代表四分位距,它从第一四分位数 (Q1) 开始到第三四分位数 (Q3) 结束。

箱线图可视化

Box Plot in Python using Matplotlib

在箱线图中,超出范围的点称为离群值。我们可以创建数据的箱线图来确定以下内容:

  • 数据集中离群值的数量
  • 数据是否偏斜
  • 数据的范围

从最小值到最大值的范围称为须线限制。在 Python 中,我们将使用 matplotlib 模块的 pyplot 模块,它有一个名为 boxplot() 的内置函数,可以为任何数据集创建箱线图。

语法

在 boxplot() 函数中,我们有很多属性可用于创建更具吸引力、更出色的数据集箱线图。

  • data:数据应为要绘制的数组或数组序列。
  • notch:此参数仅接受布尔值,true 或 false。
  • vert:此属性接受布尔值。如果设置为 true,则图形将是垂直的。否则,它将是水平的。
  • position:它接受整数数组,这些数组定义了箱子的位置。
  • widths:它接受整数数组,这些数组定义了箱子的宽度。
  • patch_artist:此参数接受布尔值,true 或 false,这是一个可选参数。
  • labels:这接受字符串,这些字符串定义了每个数据点的标签
  • meanline:它接受布尔值,并且是可选的。
  • order:它设置了箱线图的顺序。
  • bootstrap:它接受整数值,该值指定了凹口箱线图的范围。

示例 1

我们将创建一个 numpy 数组的随机数据集并创建箱线图。

输出

Box Plot in Python using Matplotlib

说明

在上面的代码中,我们首先在代码中导入了 numpy 和 matplotlib 库。然后我们创建了随机数据集并使用 boxplot() 函数绘制了箱线图。

示例 2

我们可以在同一个文件中同时创建多个箱线图。

输出

Box Plot in Python using Matplotlib

说明

在上面的代码中,我们使用 numpy 的 random 方法创建了四个数据集。然后我们创建了这四个数据集的列表,并将它们用在 boxplot() 函数中。

示例 3

我们可以使用 boxplot() 函数的一些属性来定制绘图。

输出

Box Plot in Python using Matplotlib

说明

在上面的代码中,我们使用 random 函数创建了四个数据集并将它们放入一个列表中。现在我们使用颜色列表并使用 set_facecolor() 函数为每个箱线图设置了不同的颜色。

我们设置了每个箱线图的线宽,并为每个箱线图设置了标签。我们将 vert 属性设置为 0,这意味着所有绘图都将处于水平模式。