matplotlib填充箱线图的边框颜色

4

我试图绘制填充的箱形图。我还希望它具有自定义颜色的边框(与须线不同)。

我在这里找到了如何启用填充箱形图的答案。不幸的是,'edgecolor' boxprops属性不起作用:

plt.boxplot(np.random.normal(size=1000),
            patch_artist=True,
            boxprops={'facecolor': '#AAAAAA',
                      'edgecolor': '#FFCC00'})

使用以下方法可以仅更改checkbox的边框颜色,最好在调用plt.boxplot()时执行:

enter image description here

如何更改checkbox的边框颜色?

2个回答

3

我认为boxprops参数的正确选项不是edgecolor,而应该是color

boxprops = dict(linestyle='-', linewidth=1, color='#FFCC00')

发现其他版本,可进行测试:

# Create the boxplot
bp = ax.boxplot(data_to_plot)

for box in bp['boxes']:
    # change outline color
    box.set(color='#7570b3', linewidth=2)
    # change fill color
    box.set(facecolor = '#1b9e77' )

关键字color似乎只与行有关。

2
这不应该同时设置edgecolorfacecolor吗? - abukaj
@abukaj,我刚在pyplot的文档中进行了快速搜索。从给出的示例来看,它不应该有问题。但是,我没有数据来测试它,也没有时间。你可以检查一下是否可行 :) - Mathieu
@abukaj 发现了另一个版本,倾向于表明 color 是特定于该行的。 - Mathieu

1
除了Mathieu的答案之外,有时候color可能会起作用(不确定它会改变什么),有时候edgecolor会起作用来改变框的边缘。
for box in bp['boxes']:
    box.set(edgecolor='black', linewidth=1)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接