我正在使用numpy.polyfit将多项式拟合到我的数据集中。
x = vline[vline.columns[0]]
y = vline[vline.columns[1]]
z = np.polyfit(x, y, 3)
z = array([ 7.48695862e-08, -6.73333047e-05, 2.69276073e-02, 2.90345187e+00])
绘制此多项式最简单的方法是什么?
现在,我正在手动创建
等式7.48695862 \ cdot10 ^ {-8} x ^ {3} +-6.73333047 \ cdot10 ^ {-5} x ^ {2} +2.69276073 \ cdot10 ^ {-2} x + 2.90345187
然后使用mathplotlib绘制图形。
答案 0 :(得分:3)
使用np.polyval
:
z = array([ 7.48695862e-08, -6.73333047e-05, 2.69276073e-02, 2.90345187e+00])
x2 = np.arange(-100, 100, .1) # Something relevant for you
plt.plot(x2, np.polyval(z, x2))
根据您的数据,您可能可以用更通用的内容代替np.arange(-100, 100, .1)
。