Python 使用numpy多边形拟合进行散点打印更改

Python 使用numpy多边形拟合进行散点打印更改,python,numpy,Python,Numpy,我想知道多段线的角度,因此我使用numpy多边形拟合 如果我把名单分散开来,我就能得到我所期望的 如果我打印polyfit,分散度会发生变化,我得不到预期的效果,我不知道该怎么办 x=[0.0,1.0,2.0,3.0,4.0,5.0] y=每小时更新一次的列表。在键入此消息的同时运行它,会显示: y=[30243.7330408.4230620.5530819.6631042.1631215.93] #z = np.polyfit(x,y,1) plt.scatter(x,y) plt.show

我想知道多段线的角度,因此我使用numpy多边形拟合

如果我把名单分散开来,我就能得到我所期望的

如果我打印polyfit,分散度会发生变化,我得不到预期的效果,我不知道该怎么办

x=[0.0,1.0,2.0,3.0,4.0,5.0]

y=每小时更新一次的列表。在键入此消息的同时运行它,会显示:

y=[30243.7330408.4230620.5530819.6631042.1631215.93]

#z = np.polyfit(x,y,1)
plt.scatter(x,y)
plt.show()
给我这个,这是对的:

但如果我想添加多边形拟合,在这种情况下,我希望从左下角到右上角有一条直线。相反,我得到的是:

 z = np.polyfit(x,y,1)
plt.scatter(x,y)
plt.plot(z, linewidth=2.0)
plt.show()


有人知道如何解决这个问题吗?到目前为止,我已经尝试了好几个学位。。。(为什么散乱的点会移动?

您错误地使用了polyfit,polyfit给您的是
m
c
中的
y=m*x+c

这是正确的使用方法

[m, c] = np.polyfit(x,y,1)
z = m * x + c
plt.plot(x, z)

似乎您想要的是
np.polyfit()
的拟合结果
np.polyfit
返回多项式回归的系数。您可以使用
np.poly1d(np.polyfit(x,y,1)(x)
获得结果

z = np.poly1d(np.polyfit(x,y,1))(x)
plt.scatter(x,y)
plt.plot(z, linewidth=2.0)
plt.show()

散点图没有移动。图中显示的z与图中的z相吻合谢谢!知道为什么m是一个“奇怪”的值吗,现在我使用一个静态的和合成的x列表?通常列表x也会每小时更新一次,并给我这个回归系数。如果我现在用两个实际列表计算,它会给出-0.09,但如图所示,它会给出-230?我不知道你的意思。但是多元拟合系数应该是动态的,以适应你的点集。由于点集发生变化,你应该期望m和c也相应地发生变化。它们并不是固定的。请确切地告诉你我需要什么。现在我可以在尝试计算角度时检查发生了什么。