我的图形从y=-1转到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,特别是。
发布于 2013-08-31 00:57:03
ax.annotate('MgII', xy=(2000.0, 10.5), xycoords='data', annotation_clip=False)默认情况下,仅当注解在轴上时,才会以数据单位绘制注解。
使用blended transform可能会更好
trans = ax.get_xaxis_transform() # x in data untis, y in axes fraction
ann = ax.annotate('MgII', xy=(2000, 1.05 ), xycoords=trans)发布于 2020-10-21 17:32:24
我只是遇到了同样的问题,并找到了另一个非常简单的解决方案。注解方法的选项:
annotation_clip=Falsehttps://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.annotate.html
https://stackoverflow.com/questions/18537879
复制相似问题