输入散点拟合值时出错
Error when entering values for a scatter fit
代码:第 5 行似乎有问题,尤其是 np.polyfit
、
i = text_i.get()
r = text_r.get()
i = i.split(", ")
r = r.split(", ")
fit = np.polyfit(i,r,1)
fit_fn = np.poly1d(fit)
plt.plot(i,r, 'yo', i, fit_fn(i), '--k')
plt.ilim(0, 5)
plt.rlim(0, 12)
错误信息
fit = np.polyfit(i,r,1)
File "C:\Python27\lib\site-packages\numpy\lib\polynomial.py", line 546, in polyfit
x = NX.asarray(x) + 0.0
TypeError: ufunc 'add' did not contain a loop with signature matching types
dtype('S32') dtype('S32') dtype('S32')
请问代码有什么问题?
np.polyfit(x,y,1)
需要一个数值数据列表或数组作为其参数 x
和 y
的输入。但是,您输入的是一些字符串。因此,您需要拆分该字符串并将其每个元素转换为数字,然后再将其传递给 polyfit
。
尝试:
i = np.array(list(map(float, i.split(", "))))
代码:第 5 行似乎有问题,尤其是 np.polyfit
、
i = text_i.get()
r = text_r.get()
i = i.split(", ")
r = r.split(", ")
fit = np.polyfit(i,r,1)
fit_fn = np.poly1d(fit)
plt.plot(i,r, 'yo', i, fit_fn(i), '--k')
plt.ilim(0, 5)
plt.rlim(0, 12)
错误信息
fit = np.polyfit(i,r,1)
File "C:\Python27\lib\site-packages\numpy\lib\polynomial.py", line 546, in polyfit
x = NX.asarray(x) + 0.0
TypeError: ufunc 'add' did not contain a loop with signature matching types
dtype('S32') dtype('S32') dtype('S32')
请问代码有什么问题?
np.polyfit(x,y,1)
需要一个数值数据列表或数组作为其参数 x
和 y
的输入。但是,您输入的是一些字符串。因此,您需要拆分该字符串并将其每个元素转换为数字,然后再将其传递给 polyfit
。
尝试:
i = np.array(list(map(float, i.split(", "))))