如何确定子图标签的位置?
How can I determine the position of my subplot label?
我正在尝试使用 Python 标记我的两个子图并将文本定位到右上角:
fig, axs = plt.subplots(2, sharex=True, figsize = (16,18))
plt.xticks(fontsize=15)
...
axs[0].text(0.9,0.1,r'$E_b$',verticalalignment='top',fontsize = 30)
最后一行引用自matplotlib.axes.Axes.text。我已经阅读了一些示例,但我仍然不太确定如何确定 x 和 y 的适当值以使我的标签位于右上角?当前值(0,9 和 0.1)不起作用。
这样做:
fig, axs = plt.subplots(2, sharex=True, figsize = (16,18))
plt.xticks(fontsize=15)
plt.text(0.67, 0.9, 'I am 0.70, 0.90', fontsize=14, transform=plt.gcf().transFigure)
plt.text(0.67, 0.48, 'I am 0.70, 0.48', fontsize=14, transform=plt.gcf().transFigure)
会给你这个:
axs[0].text(...)
会给你相对于axs[0]的文本坐标。我猜你想要的是图形坐标而不是轴坐标。为此你需要
transform=plt.gcf().transFigure
并且只是 plt.text(...)
,因此您无需指定子图。
图形坐标0,0
在左下,1,1
在右上。
我正在尝试使用 Python 标记我的两个子图并将文本定位到右上角:
fig, axs = plt.subplots(2, sharex=True, figsize = (16,18))
plt.xticks(fontsize=15)
...
axs[0].text(0.9,0.1,r'$E_b$',verticalalignment='top',fontsize = 30)
最后一行引用自matplotlib.axes.Axes.text。我已经阅读了一些示例,但我仍然不太确定如何确定 x 和 y 的适当值以使我的标签位于右上角?当前值(0,9 和 0.1)不起作用。
这样做:
fig, axs = plt.subplots(2, sharex=True, figsize = (16,18))
plt.xticks(fontsize=15)
plt.text(0.67, 0.9, 'I am 0.70, 0.90', fontsize=14, transform=plt.gcf().transFigure)
plt.text(0.67, 0.48, 'I am 0.70, 0.48', fontsize=14, transform=plt.gcf().transFigure)
会给你这个:
axs[0].text(...)
会给你相对于axs[0]的文本坐标。我猜你想要的是图形坐标而不是轴坐标。为此你需要
transform=plt.gcf().transFigure
并且只是 plt.text(...)
,因此您无需指定子图。
图形坐标0,0
在左下,1,1
在右上。