【问题标题】:Using polyval and polyfit to plot linear regression on semi-log charts使用 polyval 和 polyfit 在半对数图上绘制线性回归
【发布时间】:2014-02-20 23:30:43
【问题描述】:

我正在使用 matplotlib + numpy 使用 polyfit 和 polyval 函数生成线性回归

lateReg = np.polyfit(x=xm,y=mcherryp,deg=1)
ax1.plot(xm, np.polyval(lateReg,xm), 'r-')
earlyReg = np.polyfit(xv,venusp,deg=1)
ax1.plot(xv, np.polyval(earlyReg,xv), 'g-')

但是,由于我的 x 轴是对数,所以线条看起来不是很线性。 This site 说我可以 只需使用y=m*log(x)+b,我的行将再次变为线性,但我不确定如何使用我拥有的代码(我想使用这些函数而不是手动执行)。有任何想法吗?是不是很简单:

ax1.plot(log(xm), np.polyval(lateReg,xm), 'r-')

谢谢!

【问题讨论】:

    标签: python numpy matplotlib


    【解决方案1】:

    假设您的数据在半对数图上看起来像一条直线,您想要

    p = np.polyfit(np.log(xm), mcherryp, 1)
    ax1.semilogx(xm, p[0] * np.log(xm) + p[1], 'r-')
    

    在这种情况下,还有loglog的情况下,我通常认为polyval是没有用的。

    【讨论】:

    • 像魅力一样工作。非常感谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-12
    • 2021-07-18
    • 2019-10-22
    • 2013-12-10
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    相关资源
    最近更新 更多