我正在爲不同的數據集製作對數圖,並且需要包含最佳擬合線方程。我知道應在哪裏放置方程,但由於數據集有非常不同的值,因此我想在註釋中使用相對座標。 (否則,註釋將移動到每個數據集。)Matplotlib註釋在日誌規模上不起作用?
我知道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')
,註釋正好出現在情節的中間(它應該是)。否則,它不會出現。
在此先感謝您的幫助!
我懷疑這是關係到https://github.com/matplotlib/matplotlib/issues/1311我前一陣子報道,但我認爲任何人都沒有找到它。機率是這是一些奇怪的浮點問題。 – tacaswell
@tcaswell你會知道我該如何向matplotlib開發人員報告這件事嗎?謝謝! – irene
我就是其中之一,所以你是這方面的一部分;)你能否對這個問題發表評論?除了代碼之外,你還可以包含你正在使用的mpl版本('matplotlib .__ version__')? – tacaswell