Matplotlib 绘制箱线图
Suraj Joshi
2020年12月31日
本教程解释了我们如何使用 Python 中的 matplotlib.pyplot.boxplot()
函数创建一个箱线图。
通过给出数据的最小值、第一四分位数、中位数、第三四分位数和最大值的位置信息,箱线图可以帮助我们深入了解数据。
Matplotlib 中的 boxplot
import matplotlib.pyplot as plt
x=[4,5,6,8,9,10,10,11,11,12,13,14,15,15,15,17,18,19,22,23,25]
plt.boxplot(x)
plt.title("Boxplot Using Matplotlib")
plt.show()
输出:
它从给定的数据 x
中绘制一个箱线图。在箱线图中,方框从 Q1
延伸到 Q3
;方框内的水平线代表数据的中位数。波形图中的晶须从数据的 Q3
延伸到数据的最大值
,从数据的最小值
延伸到数据的 Q1
。
数据的最小值由 Q1-1.5(Q3-Q1)
的值决定,而数据的最大值由公式 Q3+1.5(Q3-Q1)
决定。
import matplotlib.pyplot as plt
x=[1,4,5,6,8,9,10,10,11,11,12,12,13,14,15,15,15,17,18,18,19,22,23,25,30,33,35]
plt.boxplot(x)
plt.title("Boxplot Using Matplotlib")
plt.show()
输出:
它绘制了给定数据 x
的 boxplot。我们还可以注意到博平图顶部的两个离群值,在图中用圆圈表示。
如果一个数据点的值小于 Q1-1.5(Q3-Q1)
或大于 Q3+ 1.5(Q3-Q1)
,则该数据点被绘制成离群值。
如果将一个二维数组作为参数传给 matplotlib.pyplot.boxplot()
函数,boxplot()
函数会对二维数组中的每个数组或列表生成箱线图。
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(100)
data_a =np.random.randint(2,15, size=15)
data_b =np.random.randint(5,18, size=20)
data_c =np.random.randint(2,20, size=30)
data_d =np.random.randint(1,30, size=40)
data_2d=[data_a,data_b,data_c,data_d]
plt.boxplot(data_2d)
plt.title("Boxplot Using Matplotlib")
plt.show()
输出:
它为列表 data_2d
中的每个 NumPy 数组创建箱线图。因此我们在一个共享公共轴的单一图形中获得了 4 个箱线图。
Author: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn