在使用plt.boxplot画箱线图,如何设置每个箱子的颜色,比如我画了10个柱子,前三个想设置为红色,后面三个设置为蓝色,最后六个设置为黑色。谢谢
在使用plt.boxplot()函数画箱线图时,可以通过设置boxprops参数来设置每个箱子的颜色。boxprops参数是一个字典,可以指定各种属性,包括边框颜色、填充颜色等
import matplotlib.pyplot as plt
import numpy as np
# 生成随机数据
data = np.random.randn(10, 5)
# 设置每个箱子的颜色
box_colors = ['red']*3 + ['blue']*3 + ['black']*4
# 绘制箱线图
plt.boxplot(data, boxprops=dict(facecolor=box_colors))
# 显示图形
plt.show()
解释:
1、首先生成了一个10行5列的随机数据,用于绘制箱线图。
2、然后定义了一个列表box_colors,其中前三个元素为红色,后三个元素为蓝色,最后四个元素为黑色。这个列表用于设置每个箱子的颜色。
3、在plt.boxplot()函数中,使用boxprops参数指定每个箱子的属性。这里使用dict()函数创建一个字典,其中facecolor属性指定填充颜色,设置为box_colors列表中对应位置的颜色。
4、最后使用plt.show()函数显示图形。
注意:
1、在设置boxprops参数时,需要使用dict()函数创建一个字典,其中各个属性的名称和取值需要按照特定的格式指定。
2、在设置每个箱子的颜色时,需要根据箱子的数量和颜色分布情况,手动设置一个列表,其中每个元素表示一个箱子的颜色。