all*_*nds 5 python matplotlib legend legend-properties
我有一个多行的情节,每个都分开标记.我想在图中加上一个图例,以便识别出各个线条.标签和标记的默认顺序如下所示:
marker:label
marker:label
marker:label
...等等.
由于各种美学原因,我希望我的图例中的列数等于行数(和标签),我使用该ncol选项更改.所以,目前,我的传奇看起来像:
marker:label marker:label marker:label
然而,对于我来说,在这种安排中将标签置于标记之上会更加清楚.我想要的是:
标签标签标签
标记标记
我想知道是否有一种"快速修复"方式来实现这样的传奇.
最后,我采取的方法是手动配置图例中文本项的位置,用于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
Run Code Online (Sandbox Code Playgroud)
通过增加 y 位置,您可以将标签向上推(即在标记上方)。类似地,通过减少 x 位置,可以实现标记顶部的对齐。