用matplotlib画4组数据的箱线图,用横线标出中位数和均值,加上图例
时间: 2024-03-24 14:38:05 浏览: 15
好的,以下是用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, ax = plt.subplots()
ax.boxplot([data1, data2, data3, 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)):
ax.axhline(medians[i], color='r', linestyle='-', label='Median' if i==0 else None)
ax.axhline(means[i], color='g', linestyle='-', label='Mean' if i==0 else None)
# 添加图例
ax.legend()
plt.show()
```
这段代码生成了四组随机数据的箱线图,并在图中标出了中位数和均值,也加上了图例。你可以根据需要修改数据并运行代码。