下面是我的文本文件中散点绘图数据的代码.我打开的文件包含两列.左列是x坐标,右列是y坐标.代码创建x与y的散点图.我需要一个代码来覆盖散点图中数据的最佳拟合线,并且没有内置的pylab函数对我有用.
from matplotlib import *
from pylab import *
with open('file.txt') as f:
data = [line.split() for line in f.readlines()]
out = [(float(x), float(y)) for x, y in data]
for i in out:
scatter(i[0],i[1])
xlabel('X')
ylabel('Y')
title('My Title')
show()
Run Code Online (Sandbox Code Playgroud) 我有一个由X和Y坐标组成的散点图.我想使用最小二乘拟合到直线以获得最佳拟合线.
适合直线的最小二乘指的是:如果(x_1,y_1),......(x_n,y_n)是测量的数据对,则最佳直线是y = A + Bx.
这是我在python中的代码:
# number of points is 50
A = (sum(x**2)*sum(y) - sum(x)*sum(x*y)) / (50*sum(x**2) - (sum(x))**2)
B = (50*sum(x*y) - sum(x)*sum(y)) / (50*sum(x**2) - (sum(x))**2)
print (A,B)
Run Code Online (Sandbox Code Playgroud)
这看起来是否正确,我在打印A和B时遇到问题.谢谢!