[英]Matplotlib semilog plot line of best fit
下面(藍色虛線)是我嘗試對數據進行線性回歸時得到的結果。 它看起來很不正常(但也許是正確的嗎?)這是圖片(不允許我嵌入):
這是代碼:
mm, cs, err = get_cols(data)
a = np.asarray(mm, dtype=float)
b = np.asarray(cs, dtype=float)
ax.errorbar(a, b, xerr=None, yerr=err, fmt='o', c='b', label='Detection Rate')
logB = np.log10(b)
m, y0 = np.polyfit(a, logB, 1)
ax.plot(a, np.exp(a*m+y0), '--')
默認情況下,matplotlib的對數刻度使用以10為底的對數。 因此,使用np.log10(b)
轉換數據以進行擬合是有意義的。
但是,一旦擬合完成,就需要使用變換函數的逆函數對數據進行逆變換。
在y = log10(x)
的情況下,逆為x = 10**(y)
,而
如果y = log(x)
則逆為x = exp(y)
。
因此,您需要確定其中一種情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.