0
我有一個文本文件的x和y座標,我用這個程序想要計算一條曲線,但結果是一條直線重複自己 數據分別導入爲x和y座標。這裏是處理這個數據的代碼龜繪製曲線
def plotDots(t,x_acc,y_acc):
while x_acc and y_acc:
t.pu()
t.goto(x_acc[0],y_acc[0])
t.pd()
t.stamp()
x_acc, y_acc=x_acc[1:], y_acc[1:]
def plotRegression(x,x_acc,y_acc):
ave_x=sum(x_acc)/len(x_acc) #Calculating curve
ave_y=sum(y_acc)/len(y_acc)
n=len(x_acc)
m=((x_acc[0]*y_acc[0])-(n*ave_x*ave_y))/(x_acc[0]**2-(n-x_acc[0]**2))
y=ave_y+m*(x-ave_x)
return y
def main():
t=turtle.Turtle()
wn=turtle.Screen()
turtle.setworldcoordinates(-1000,-1000,1000,1000)
doc=open("labdata.txt")
line=doc.readline()
y_acc=[]
x_acc=[]
while line:
values=line.split()
x_acc=x_acc +[float(values[0])]
y_acc=y_acc +[float(values[1])]
line=doc.readline()
plotDots(t,x_acc,y_acc)
for x in x_acc:
t.goto(x, plotRegression(x,x_acc,y_acc))
doc.close()
wn.exitonclick()
main()
爲什麼不使用'for line in doc'來遍歷行呢? – Evert