利用python写一个复杂的箱线图
时间: 2023-06-17 09:01:57 浏览: 137
箱线图是一种用于显示数据分布情况的图表,可以用来检测异常值和离群点。下面是一个利用Python绘制复杂箱线图的示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 生成随机数据
np.random.seed(10)
data_1 = np.random.normal(100, 10, 200)
data_2 = np.random.normal(90, 20, 200)
data_3 = np.random.normal(80, 30, 200)
data_4 = np.random.normal(70, 40, 200)
data = [data_1, data_2, data_3, data_4]
# 设置箱线图属性
boxprops = dict(linestyle='-', linewidth=2, color='blue')
whiskerprops = dict(linestyle='-', linewidth=2, color='green')
flierprops = dict(marker='o', markersize=5, markerfacecolor='red')
medianprops = dict(linestyle='-', linewidth=2, color='orange')
# 绘制箱线图
fig, ax = plt.subplots(figsize=(10, 6))
ax.boxplot(data, notch=True, vert=True, patch_artist=True, boxprops=boxprops, whiskerprops=whiskerprops, flierprops=flierprops, medianprops=medianprops)
# 设置图表标题和坐标轴标签
ax.set_title('Complex Boxplot', fontsize=18)
ax.set_xlabel('Data Series', fontsize=16)
ax.set_ylabel('Value', fontsize=16)
# 设置x轴刻度标签
ax.set_xticklabels(['Data 1', 'Data 2', 'Data 3', 'Data 4'], fontsize=14)
# 填充箱体颜色
colors = ['lightblue', 'lightgreen', 'pink', 'lightyellow']
for patch, color in zip(ax.artists, colors):
patch.set_facecolor(color)
# 显示图表
plt.show()
```
在这个示例中,我们生成了4个不同的随机数据集,并使用`boxprops`、`whiskerprops`、`flierprops`、`medianprops`参数设置了箱线图的属性,然后调用`boxplot()`函数绘制箱线图。最后,我们使用`set_xticklabels()`函数设置x轴刻度标签,并使用`set_facecolor()`函数填充箱体颜色。运行上述代码,将会得到一个复杂的箱线图,如下图所示:
![complex-boxplot](https://img-blog.csdnimg.cn/2021102114255936.png)
阅读全文