Matplotlib图例:标签在标记上方

5
我有一个包含多条线的图表,每个线都有不同的标签。我想在图表中放置一个图例,以便可以识别单个线条。默认情况下,标签和标记的排序如下所示:
标记 : 标签 标记 : 标签 标记 : 标签 ...以此类推。
出于各种审美原因,我希望我的图例中列数等于线条数(和标签数),这可以使用ncol选项进行更改。因此,目前我的图例看起来像:
标记 : 标签      标记 : 标签       标记 : 标签
然而,对我来说,如果标签在这种排列方式下在标记的上方,则会更加清晰。我想要的是类似于以下内容:
标签        标签       标签 标记     标记     标记
我想知道是否有一种“快速修复”方法可以实现这样的图例。

你已经找到解决这个问题的“快速修复”了吗? 我也很感兴趣。 - Jean-Sébastien
从文档中看来,似乎唯一的选项是 marker : label 或 label : marker。 - pceccon
1个回答

1
最终,我处理这个问题的方式是手动配置图例中文本项的位置,使用 legend.get_texts() 迭代每个文本对象。以下是一些示例代码:
for txt in legend.get_texts():
    txt.set_ha("center") # horizontal alignment of text item
    txt.set_x(-5) # x-position
    txt.set_y(10) # y-position

通过增加 Y 轴位置,您可以将标签向上推(即在标记之上)。同样地,通过减小 X 轴位置,可以实现与标记顶部的对齐。

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