📅  最后修改于: 2023-12-03 15:06:48.612000             🧑  作者: Mango
箱线图是一种常用的数据可视化方法,用于表示数据的分散程度、离散程度以及异常值情况。在Python中,我们可以使用Matplotlib库来绘制箱线图。
在使用Matplotlib绘制箱线图之前,我们需要准备待绘制的数据。以下是一个示例数据:
import numpy as np
data = np.random.normal(size=(100,5))
这段代码会生成一个规模为100x5的正态分布数据。
在准备好数据后,我们可以使用Matplotlib的boxplot()
函数绘制箱线图。以下是一个示例代码:
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.boxplot(data)
plt.show()
这段代码会生成一个简单的箱线图。
我们可以根据需要对箱线图进行自定义修改。以下是一些常用的配置选项:
labels
: x轴刻度的名称,默认使用数字。whis
: 异常值的范围,默认为1.5倍的四分位距。notch
: 是否绘制缺口,默认为False。patch_artist
: 是否根据实际数据填充箱体,默认为False。以下是一个自定义配置的示例代码:
fig, ax = plt.subplots()
bp = ax.boxplot(data, labels=['A', 'B', 'C', 'D', 'E'], whis=3, notch=True, patch_artist=True)
for box in bp['boxes']:
box.set(facecolor='white', edgecolor='black', hatch='//')
plt.show()
这段代码会绘制一个带有自定义配置的箱线图。
除了简单的绘图外,我们还可以使用箱线图来处理和可视化数据。以下是一个示例代码:
fig, ax = plt.subplots()
med = np.median(data, axis=0)
q1 = np.percentile(data, 25, axis=0)
q3 = np.percentile(data, 75, axis=0)
iqr = q3 - q1
upper_whisker = q3 + 1.5 * iqr
lower_whisker = q1 - 1.5 * iqr
bp = ax.boxplot(data, labels=['A', 'B', 'C', 'D', 'E'], whis=[5, 95])
ax.plot(med, 'o', color='red')
for i in range(med.size):
ax.plot([i+1, i+1], [upper_whisker[i], med[i]], color='black')
ax.plot([i+1, i+1], [lower_whisker[i], med[i]], color='black')
plt.show()
这段代码会将示例数据中每个维度的中位数、四分位数和异常值用不同的形式呈现出来。
Matplotlib提供了丰富的接口和配置选项,使我们能够灵活地处理和可视化数据。通过本文介绍的方法,你可以快速上手绘制箱线图,并且了解如何根据实际需求进行自定义修改。