【问题标题】:Matplotlib - Show legend with multiple colours representing the same valueMatplotlib - 显示具有代表相同值的多种颜色的图例
【发布时间】:2013-11-18 15:19:38
【问题描述】:

我正在绘制多个条形图,其中显示相同的统计数据但在不同的时间段内。我想创建一个图例,在同一行中显示特定值的两种颜色。以附图(用excel制作)为例。

有没有人对我如何做到这一点有任何建议?

谢谢!

【问题讨论】:

    标签: python matplotlib legend


    【解决方案1】:

    如果有人感兴趣,我发现了一个可以满足我要求的伪黑客。在图例属性中使用ncol=2 命令并将第二组图例标题设置为'',它可以正确显示。唯一的麻烦是使用空格填充格式化标签以使标签看起来居中对齐。

    例如,下面的代码在本文底部显示的图像中生成了图例:

    plt.legend((p3[0], p2[0], p1[0],p7, p6[0], p5[0], p4[0]),
               ('       Maximum','  90th Percentile','        Average' ,'    MOE Guideline', '', '', ''), ncol=2)
    

    【讨论】:

    • @tcaswell:我只是使用带有 ncol 作为参数的普通图例命令。 plt.legend((p3[0], p2[0], p1[0],p7, p6[0], p5[0], p4[0]), (' Maximum',' 90th Percentile',' Average' ,' MOE Guideline', '', '', ''), ncol=2)。您只需使用空白条目即可使其看起来正确。
    • 编辑您的答案以包括,cmets 不可读且不稳定。这似乎很有用,应该保留。
    • @tcaswell:如果还有什么不清楚的地方请告诉我。干杯。
    • 看起来不错。我怀疑有办法通过使用文本对齐和列间距来自动化文本位置代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多