2017-01-12 76 views
1

我想適合y=mx+c直線到我的數據點,但以對數形式。爲此,我使用curve_fit模塊。我的簡單代碼是Matplotlib負軸

def func(x,m,c): 
    return (x*m + c) 
x=log10(xdata) 
y=log10(ydata) 
err=log10(error) 
coeff, var = curve_fit(func,x,y,sigma=err) 
yfit = func(x,coeff[0],coeff[1]) 
pl.plot(x,y,'r0') 
pl.plot(x,yfit,'k-') 
pl.show() 

這張圖給我y軸上的負數,因爲我的y值是mV。有沒有辦法在日誌擬合的地塊上使用原始的xdata和ydata(以mV爲單位)?

回答

1

改爲繪製轉換的變量。

plot(10**x, 10**yfit, 'k-')

,也許顯示數尺度的情節

set_yscale('log')