は、私は私が取得していますが、右docsnumpy.poly1dプロット多くの行
poly=np.poly1d(np.polyfit(x,y,20))
plt.scatter(x,y)
plt.plot(x, poly(x))
によると、いくつかの単純なデータをグラフ化し、多項式回帰直線を表示しようとしている私はすべてをやっているように思えるんです以上のちょうど1行:matplotlibのの
は、私は私が取得していますが、右docsnumpy.poly1dプロット多くの行
poly=np.poly1d(np.polyfit(x,y,20))
plt.scatter(x,y)
plt.plot(x, poly(x))
によると、いくつかの単純なデータをグラフ化し、多項式回帰直線を表示しようとしている私はすべてをやっているように思えるんです以上のちょうど1行:matplotlibのの
plot
方法は、あなたがそれらを提供することために、あなたが提供する(X、ポリ(X))のドットを接続しています。あなたの配列xはソートされていないように見えます。プロットは左右に何度も行きます。ソートそれを例えば、プロットする前に:1は(上に示したラフなプロットを作ることができる)でないポイントに対して適合モデルをプロットしているため
x = np.array([1,7,2,6,3,5,4])
y = np.array([1,3,2,4,3,5,4])
poly=np.poly1d(np.polyfit(x, y, 2))
plt.scatter(x,y)
sorted = np.sort(x)
plt.plot(sorted, poly(sorted))
plt.show()
は、通常、これはいくつかに対して起動しません。より細かいプロットを作成します。ソートは問題ではありません。
xx = np.linspace(x.min(), x.max(), 500)
plt.plot(xx, poly(xx))
plt.show()
'x.shape ==(397)'と 'y.shape ==(397)' – Tony