python - 如何将文本框与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()
?我怎样才能做到这一点?
解决方案
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)
)