【问题标题】:Border colour of matplotlib filled boxplotsmatplotlib 填充箱线图的边框颜色
【发布时间】:2018-05-18 13:17:07
【问题描述】:

我正在尝试绘制一个填充了哪个盒子的箱线图。我还希望它有一个自定义颜色的边框(不同于胡须)。

我找到了答案how to enable filled boxplots。不幸的是,'edgecolor'boxprops 属性无法按预期工作:

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

结果:

如何单独更改框的边框颜色?最好致电plt.boxplot()

【问题讨论】:

    标签: python python-3.x matplotlib boxplot


    【解决方案1】:

    我认为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 似乎特定于这些行。

    【讨论】:

    • 不应该设置edgecolorfacecolor吗?
    • @abukaj 我刚刚在 pyplot 的文档中进行了快速搜索。从给出的例子来看,它不应该。同样,我没有数据来测试它,也没有现在的时间。只需检查它是否有效:)
    • @abukaj 发现的其他版本往往表明 color 特定于该行。
    【解决方案2】:

    除了 Mathieu 的回答之外,有时color 可能会起作用(不确定是什么改变了它),有时edgecolor 会起作用以改变框的边缘。

    for box in bp['boxes']:
        box.set(edgecolor='black', linewidth=1)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-15
      • 1970-01-01
      • 1970-01-01
      • 2017-06-19
      • 1970-01-01
      • 2018-05-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多