如何将最佳拟合线放置到绘图点?

时间:2015-04-23 09:43:49

标签: python numpy matplotlib

我有一个包含arrays中两个数据集的简单绘图,我正在尝试使用回归来计算通过这些点的最佳拟合线。

然而,我得到的线路是向左和向上的数据点。

如何让线路在正确的位置,我的代码还有其他任何提示和建议吗?

from pylab import *

Is = array([-13.74,-13.86,-13.32,-18.41,-23.83])
gra = array([31.98,29.41,28.12,34.28,40.09])
plot(gra,Is,'kx')
(m,b) = polyfit(Is,gra,1)
print(b)
print(m)
z = polyval([m,b],Is)
plot(Is,z,'k--')

如果有人好奇,数据是不同温度下硅晶体管的带隙。

1 个答案:

答案 0 :(得分:2)

您必须注意哪些数组作为x坐标传递,哪些数据作为y坐标。请注意,您在位置y处拥有数据值x。然后你必须评估多项式wrt。 x也是。

from pylab import*

Is = array([-13.74,-13.86,-13.32,-18.41,-23.83])
gra = array([31.98,29.41,28.12,34.28,40.09])

# rename the variables for clarity
x = gra
y = Is

plot(x, y, 'kx')
(m,b) = polyfit(x, y, 1)
print(b)
print(m)
z = polyval([m,b], x)
plot(x, z, 'k--')
show()