我正在为不同的数据集制作对数图,并且需要包括最佳拟合线方程。我知道我应该在图中的哪个位置放置方程,但由于数据集的值非常不同,我想在注释中使用相对坐标。(否则,注释将针对每个数据集移动。)
我知道 matplotlib 的 annotate() 函数,并且我知道我可以使用 textcoords='axes fraction' 来启用相对坐标。当我以常规比例绘制数据时,它可以工作。但随后我将至少一个比例更改为记录,注释消失了。我没有收到错误消息。
这是我的代码:
plt.clf()
samplevalues = [100,1000,5000,10^4]
ax = plt.subplot(111)
ax.plot(samplevalues,samplevalues,'o',color='black')
ax.annotate('hi',(0.5,0.5), textcoords='axes fraction')
ax.set_xscale('log')
ax.set_yscale('log')
plt.show()
如果我注释掉ax.set_xcale('log')
and ax.set_ycale('log')
,注释就会出现在图的中间(它应该在的地方)。否则,它不会出现。
在此先感谢您的帮助!