用matplotlib画4个箱线图,用横线标出中位数和均值,加上图例
时间: 2024-03-24 16:38:05 浏览: 101
利用Python – Matplotlib 绘制箱线图
好的,以下是用matplotlib画四个箱线图,并标出中位数和均值的代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 生成四组随机数据
data1 = np.random.normal(size=(100,))
data2 = np.random.normal(loc=2.0, size=(100,))
data3 = np.random.normal(loc=3.0, size=(100,))
data4 = np.random.normal(loc=4.0, size=(100,))
# 画四个箱线图
fig, axs = plt.subplots(2, 2, figsize=(8, 8))
axs[0, 0].boxplot(data1)
axs[0, 1].boxplot(data2)
axs[1, 0].boxplot(data3)
axs[1, 1].boxplot(data4)
# 标出中位数和均值
medians = [np.median(data1), np.median(data2), np.median(data3), np.median(data4)]
means = [np.mean(data1), np.mean(data2), np.mean(data3), np.mean(data4)]
for i in range(len(medians)):
axs[i//2, i%2].axhline(medians[i], color='r', linestyle='-', label='Median' if i==0 else None)
axs[i//2, i%2].axhline(means[i], color='g', linestyle='-', label='Mean' if i==0 else None)
# 添加图例
axs[0, 0].legend()
plt.show()
```
这段代码生成了四个随机数据的箱线图,并在图中标出了中位数和均值,也加上了图例。你可以根据需要修改数据并运行代码。
阅读全文