通过指定与轴的距离来放置文本

时间:2014-11-12 17:34:49

标签: python matplotlib

我想知道,在两个不同的情节上使用ax.text命令,但我希望在我的论文中使用的情节相同,例如:

axScatter_Scatter.text(38.20, 2.76, r'$\mathrm{(a)}$', fontsize=12)
axScatter_Hist.text(2.8, 284.5, r'$\mathrm{(b)}$', fontsize=12)

是否有可能指定粗略的xy坐标来指定与轴的标准距离?那么(a)和(b)标签位置都是准确的吗?

对此的任何想法都会非常感激,因为我似乎无法通过文献或其他方式找到任何内容。

2 个答案:

答案 0 :(得分:1)

正如text的{​​{3}}解释,您可以使用transform参数:

axScatter_Scatter.text(0.1, 0.1, r'$\mathrm{(a)}$', fontsize=12, 
        transform=axScatter_Scatter.transAxes)
axScatter_Hist.text(0.1, 0.1, r'$\mathrm{(b)}$', fontsize=12, 
        transform=axScatter_Hist.transAxes)

现在,文本对象的坐标被解释为轴的分数。

答案 1 :(得分:1)

具体到我的代码,@ hitzg的上述答案工作得很好但是有以下变化:

axScatter_Scatter.text(0.05, 0.93, r'$\mathrm{(a)}$', fontsize=12, 
        transform=axScatter_Scatter.transAxes)
axScatter_Hist.text(0.05, 0.93, r'$\mathrm{(b)}$', fontsize=12, 
        transform=axScatter_Hist.transAxes)

将transform = ax.transAxes更改为transform = axScatter_Hist.transAxes以与axScatter_Scatter = fig.add_subplot(121)一致。这只是我个人的标签。