如何在matplotlib python中绘制多项式曲线?

时间:2017-08-17 17:45:26

标签: python python-2.7 matplotlib regression

我正在尝试为回归拟合绘制曲线。该曲线用于更高次多项式(6及以上)。

fig=figure()
ax1=fig.add_axes((0.1,0.2,0.8,0.7))
ax1.set_title("Training data(blue) and fitting curve(red)")
ax1.set_xlabel('X-axis')
ax1.set_ylabel('Y-axis')

ax1.plot(x_train,y_train,'.',x_train,np.polyval(best_coef,x_train),'-r') 
show()

This is the output of the given code

我希望它是一条平滑的曲线。

something like this , with a continues red line , instead of discreet point of red

1 个答案:

答案 0 :(得分:1)

我认为您需要在绘制拟合结果之前对x_train进行排序:

ax1.plot(x_train,y_train,'.', np.sort(x_train),np.polyval(best_coef,np.sort(x_train)),'-r')

您包含的图表看起来像x_train值(因此也是拟合值)是随机顺序,但绘图例程不连接最近的点,而是连接数组中的连续点。