首页 > 解决方案 > 如何将文本框与matplotlib中的图例框对齐?

问题描述

我试图将文本放在图形的左上角,然后将图例放在它旁边的相同垂直高度。以下不符合我的预期:

fig, ax = plt.subplots(figsize=(4, 4))
ax.plot([0, 1,2,3],[2, 5,8,33], label='legend')
plt.legend(loc=[0.5, 1.2], fontsize=20)
fig.text(x=0, y=1.2, s="Text", fontsize=20)

在此处输入图像描述

似乎使用的定位text()不一致legend()?我怎样才能做到这一点?

标签: pythonmatplotlib

解决方案


Figure.text在图形坐标中,所以它被放置在图形之外。 plt.legend在轴坐标中。

fig, ax = plt.subplots(figsize=(4, 4))
ax.plot([0, 1,2,3],[2, 5,8,33], label='legend')
plt.legend(loc=[0.5, 1.2], fontsize=20)
fig.text(x=0, y=1.2, s="Text", fontsize=20, transform=ax.transAxes)

作品。(或plt.text(x=0, y=1.2, s="Text", fontsize=20, transform=ax.transAxes)

在此处输入图像描述


推荐阅读