我的图形来自y=-1
to y=10
我想在任意位置写一小段文字,比如x=2000
, y=5
:
ax.annotate('MgII', xy=(2000.0, 5.0), xycoords='data')
现在我想要相同的,但这次文本必须位于图形之外,但位于我在数据坐标中标记的确切位置:
ax.annotate('MgII', xy=(2000.0, 10.5), xycoords='data')
但它随后就消失了(记住我的图形从-1到10)。图形顶部有足够的可用空间。
而且,如果我指定
xy=(2000.0, 9.999)
然后标签几乎出现在我想要的位置,只是它太靠近图片的顶部边框。我想要它在y=10.5
, 具体来说。
ax.annotate('MgII', xy=(2000.0, 10.5), xycoords='data', annotation_clip=False)
默认情况下,以数据单位表示,仅在轴中绘制注释。
你可能最好使用混合变换 http://matplotlib.org/users/transforms_tutorial.html#blended-transformations:
trans = ax.get_xaxis_transform() # x in data untis, y in axes fraction
ann = ax.annotate('MgII', xy=(2000, 1.05 ), xycoords=trans)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)