我正在为不同的数据集制作对数-对数图,并需要包含最佳拟合线方程式。我知道应该在图中哪个位置放置方程式,但由于数据集有非常不同的值,因此我想在注释中使用相对坐标。(否则,注释将针对每个数据集移动。)我熟悉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')
和ax.set_ycale('log')
注释掉,那么注释就会出现在图的中心位置(正常情况)。否则,它不会出现。谢谢您的帮助!
matplotlib.__version__
) 吗? - tacaswell