繁体   English   中英

Matplotlib Semilog最佳拟合图线

[英]Matplotlib semilog plot line of best fit

下面(蓝色虚线)是我尝试对数据进行线性回归时得到的结果。 它看起来很不正常(但也许是正确的吗?)这是图片(不允许我嵌入):

http://i.imgur.com/KiprZDB.png

这是代码:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM