Matplotlib图例中的文本对齐

我试图在matplotlib轴图例中将条目右对齐(默认情况下它们是左对齐的),但是似乎找不到任何方法。我的设置如下:

(我已经使用ax.plot()命令向my_fig轴添加了数据和标签)

ax = my_fig.get_axes()[0]

legend_font = FontProperties(size=10)

ax.legend(prop=legend_font, num_points=1, markerscale=0.5)

文档中有matplotlib

Axes的Legend关键字参数列表,但似乎没有任何简单的方法可以在那里设置图例条目的对齐方式。有人知道这样做的后门方式吗?谢谢。

编辑:

为了阐明我要达到的目标,现在我的传说如下:

Maneuver: 12-OCT-2011 12:00 UTC

Bias: 14-OCT-2011 06:00 UTC

我希望它看起来像:

Maneuver: 12-OCT-2011 12:00 UTC

Bias: 14-OCT-2011 06:00 UTC

回答:

您要寻找的后门如下:

# get the width of your widest label, since every label will need 

# to shift by this amount after we align to the right

shift = max([t.get_window_extent().width for t in legend.get_texts()])

for t in legend.get_texts():

t.set_ha('right') # ha is alias for horizontalalignment

t.set_position((shift,0))

以上是 Matplotlib图例中的文本对齐 的全部内容, 来源链接: utcz.com/qa/405783.html

回到顶部