📅  最后修改于: 2023-12-03 15:04:35.824000             🧑  作者: Mango
在数据可视化中,箱线图是一种常用的统计图形,用于显示一组数据的分布情况,包括数据的中位数、上下四分位数、最大、最小值和异常值等信息。
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()
函数,可以方便地展示多组数据的统计差异性。同时,还可以使用相关参数进行颜色、标签等设置,以便更好地展示不同组的差异性。