2017-01-12 42 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')