📜  箱线图 python (1)

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

箱线图 Python

箱线图(box plot)是一种常见的统计图形,主要用于反映数据的离散程度、对称情况、分布情况、异常值等信息。在 Python 中,我们可以使用 matplotlib 库绘制箱线图。

准备数据

首先,我们需要准备一组数据,用于绘制箱线图。以下是一个示例数据:

import numpy as np

np.random.seed(123)
data = np.random.normal(0, 1, 100)

这组数据是从均值为 0,标准差为 1 的正态分布中随机抽取的 100 个数。

绘制箱线图

接下来,我们可以使用 matplotlib 中的 boxplot 函数来绘制箱线图。以下是一个简单的例子:

import matplotlib.pyplot as plt

plt.boxplot(data)
plt.show()

这段代码将会绘制出一个简单的箱线图。如果你运行该代码,你会得到以下结果:

Boxplot Example

从上图可以看出,箱线图被分为 5 个部分:

  • 上边缘(上边框)
  • 上四分位数(上四分位数线)
  • 中位数(中央线)
  • 下四分位数(下四分位数线)
  • 下边缘(下边框)

箱线图的箱体用于表示数据的中间 50%。箱体的顶部和底部分别表示数据的 75 分位数和 25 分位数,中间的线表示数据的中位数。箱线图之上和之下的线,表示的是数据的最大值和最小值,但需要注意的是,如果数据中存在异常值,则其不包括在最大值和最小值之内。

自定义箱线图

我们可以通过 boxplot 函数的一些参数来自定义箱线图,以下是一个简单的例子:

import matplotlib.pyplot as plt

plt.boxplot(data,
            notch=True,  # 是否显示缺口
            sym='+',  # 异常值样式
            vert=False,  # 是否是垂直箱线图
            whis=1.5,  # 箱体上下线的长度(whis*四分位差)
            widths=0.5,  # 箱体宽度
            patch_artist=True,  # 是否用彩色填充箱体
            boxprops=dict(facecolor='pink', color='black'), # 箱体外观设置
            whiskerprops=dict(color='blue'),  # 最大值和最小值的外观设置
            flierprops=dict(color='red', markeredgecolor='red'), # 异常值的外观设置
            medianprops=dict(color='green'),  # 中位数的外观设置
            labels=[''],  # x轴标签(为空,即无标签)
            showmeans=True,  # 是否显示均值
            meanprops=dict(marker='o',
                           markerfacecolor='white',
                           markeredgecolor='black',
                           markersize=8,
                           alpha=0.7)  # 均值点的样式
            )
plt.title('My Boxplot')
plt.show()

这段代码将会绘制出一个自定义的箱线图。如果你运行该代码,你会得到以下结果:

Custom Boxplot Example

从上图可以看出,我们添加了以下自定义设置:

  • notch=True:显示缺口。
  • sym='+':将异常值显示为加号。
  • vert=False:绘制水平箱线图。
  • whis=1.5:箱体上下线的长度为四分位差的 1.5 倍。
  • widths=0.5:箱体宽度为 0.5。
  • patch_artist=True:使用彩色填充箱体。
  • boxprops=dict(facecolor='pink', color='black'):箱体外观使用粉色填充,边框使用黑色。
  • whiskerprops=dict(color='blue'):最大值和最小值的外观使用蓝色。
  • flierprops=dict(color='red', markeredgecolor='red'):异常值使用红色,默认使用空心圆点的外观,即 marker='o'
  • medianprops=dict(color='green'):中位数的外观使用绿色。
  • labels=['']:x轴无标签。
  • showmeans=True:显示均值。
  • meanprops=dict(marker='o', markerfacecolor='white', markeredgecolor='black', markersize=8, alpha=0.7):均值点的样式为白色实心圆点,大小为 8,边缘颜色为黑色,透明度为 0.7。

以上自定义设置只是箱线图的一部分,你可以根据需要进行调整。

结语

以上就是箱线图在 Python 中的介绍和使用方法。希望对你有所帮助!