📜  python中的分组箱线图(1)

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

Python中的分组箱线图

在数据可视化中,箱线图是一种常用的统计图形,用于显示一组数据的分布情况,包括数据的中位数、上下四分位数、最大、最小值和异常值等信息。

Python中的matplotlib库提供了制作箱线图的函数,可以方便地绘制数据分布情况。本文将介绍如何绘制分组箱线图,用于展示多组数据的差异性。

数据准备

首先,需要准备一组或多组数据,用于制作分组箱线图。以下是一个示例代码,用于生成三组数据,分别代表三个组:

import numpy as np

# 生成三组数据,分别代表三个组
data1 = np.random.normal(20, 5, 100)
data2 = np.random.normal(25, 3, 100)
data3 = np.random.normal(30, 4, 100)

# 将三组数据存放到一个列表中
data = [data1, data2, data3]
绘制分组箱线图

绘制分组箱线图的函数为boxplot(),其基本用法为:

import matplotlib.pyplot as plt

# 绘制分组箱线图
plt.boxplot(data)

# 展示图形
plt.show()

运行以上代码,即可得到一张包含三组数据的分组箱线图。但是,这种简单的绘图方式可能会使得不同组的箱线图颜色不够明显,因此需要对不同组进行区分,以便更好地展示差异性。

区分不同组颜色

为了区分不同组,可以在boxplot()中增加一个labels参数,用于指定每个组对应的标签。此外,还需要对每个组的箱线图进行颜色设置,以便更好地区分。以下是一个示例代码:

import matplotlib.pyplot as plt

# 对每个组的箱线图进行颜色设置
boxprops1 = {'color': 'red', 'linewidth': 2}
boxprops2 = {'color': 'blue', 'linewidth': 2}
boxprops3 = {'color': 'green', 'linewidth': 2}

# 生成三组数据,分别代表三个组
data1 = np.random.normal(20, 5, 100)
data2 = np.random.normal(25, 3, 100)
data3 = np.random.normal(30, 4, 100)

# 将三组数据存放到一个列表中
data = [data1, data2, data3]

# 绘制分组箱线图,增加标签和颜色设置
labels = ['Group 1', 'Group 2', 'Group 3']
plt.boxplot(data, labels=labels, boxprops=[boxprops1, boxprops2, boxprops3])

# 展示图形
plt.show()

以上代码运行后,即可得到一张区分不同组颜色的分组箱线图。如果需要设置其他如图例、坐标轴等内容,也可以通过Matplotlib库中的相关函数进行设置。

总结

本文介绍了Python中绘制分组箱线图的方法,通过使用Matplotlib库的boxplot()函数,可以方便地展示多组数据的统计差异性。同时,还可以使用相关参数进行颜色、标签等设置,以便更好地展示不同组的差异性。