📜  Python箱形图(1)

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

Python 箱形图

什么是箱形图?

箱形图(Box plot),又称为盒式图、盒状图或箱线图,是一种用来展示数据分布情况的统计图表。箱形图能够清楚地展示出数据的中位数、四分位数、极值以及异常值等信息,对于数据的可视化分析具有重要意义。

如何绘制箱形图?

在 Python 中,我们使用 Matplotlib 库的 boxplot() 方法来绘制箱形图。该方法的参数包括:数据、箱形图的类型、颜色等等。下面是一个简单的样例:

import matplotlib.pyplot as plt
import numpy as np

data = np.random.randn(1000)

plt.boxplot(data, vert=False)
plt.show()

Boxplot-Sample

其中,vert 参数用来指定箱形图的方向。如果 vert=False,则箱形图为水平方向,如果 vert=True,则箱形图为垂直方向。

理解箱形图

箱形图由五部分组成:

  1. 上边缘为数据中的最大值;
  2. 上四分位数(Q3):上四分位数是将所有数据从小到大排列后,处于中间位置的数值,它的值的大小为第 75% 的数据值;
  3. 中位数(Q2):中位数是数据的中心位置,将所有数据从小到大排列后,处于中间位置的数值;
  4. 下四分位数(Q1):下四分位数是将所有数据从小到大排列后,处于中间位置的数值,它的值的大小为第 25% 的数据值;
  5. 下边缘为数据中的最小值。

在数据中,我们经常会遇到异常值(outliers),它们指的是与大多数数据有很大差距的数值。在箱形图中,异常值用另外的符号表示。

代码示例

下面的代码示例展示了如何利用 Python 绘制带有异常值的箱形图。

import matplotlib.pyplot as plt
import numpy as np

np.random.seed(0)
data = np.random.normal(100, 20, 200)
data = np.concatenate([data, [120, 130, -120, -130]])

fig, ax = plt.subplots()
ax.boxplot([data])
ax.set_title('Boxplot Sample with Outliers')
plt.show()

Boxplot-Sample-With-Outliers

在这个示例中,我们首先生成了含有200个数据的随机数据,然后又手动添加了四个异常值(分别为120,130,-120和-130)。最后,我们使用 ax.boxplot([data]) 的方式来展示箱形图的结果。