已经画好的箱式图如何再给各组换颜色
时间: 2023-11-16 19:05:49 浏览: 94
要给箱式图中的不同组换颜色,可以使用 `boxplot()` 函数中的 `colors` 参数。这个参数是一个包含颜色值的列表,列表的长度应该等于你要画的每个箱式图组的数量。你可以为每个组指定一个颜色,也可以指定一个包含多个颜色的列表,让 matplotlib 自动循环使用这些颜色。下面是一个示例代码:
``` python
import matplotlib.pyplot as plt
import numpy as np
# 生成示例数据
np.random.seed(123)
data1 = np.random.normal(0, 1, 100)
data2 = np.random.normal(2, 1, 100)
data3 = np.random.normal(4, 1, 100)
data4 = np.random.normal(6, 1, 100)
data = [data1, data2, data3, data4]
# 画箱式图并指定颜色
fig, ax = plt.subplots()
ax.boxplot(data, showmeans=True, meanline=True,
patch_artist=True,
boxprops=dict(facecolor='lightblue', edgecolor='blue'),
whiskerprops=dict(color='blue'),
medianprops=dict(color='darkblue'),
meanprops=dict(color='darkblue', linestyle='--', linewidth=2),
capprops=dict(color='blue'))
colors = ['pink', 'lightgreen', 'lightyellow', 'lavender']
for patch, color in zip(ax.artists, colors):
patch.set_facecolor(color)
plt.show()
```
这个代码示例中,我们生成了四组数据并画了一个箱式图,然后使用了 `boxprops`、`whiskerprops`、`medianprops`、`meanprops` 和 `capprops` 参数设置了各个箱式图元素的样式。最后,我们使用 `colors` 参数为每个组指定了一个颜色,分别是粉色、淡绿色、淡黄色和薰衣草色。运行这段代码,你就可以得到一个带有不同颜色的箱式图。
阅读全文