在一组点上绘制曲线显示了两条不同的曲线?

时间:2019-12-17 15:06:06

标签: matplotlib python-3.6 data-fitting

我有一组符合二阶多项式的数据。然后,我使用plt.scatter()绘制数据点,并使用plt.plot()绘制结果拟合曲线。奇怪的是,我在图形上看到了两条曲线,而得到的拟合参数仅为3(也就是说,一个二阶多项式)。我听不懂我还尝试在另一个程序上使用相同的参数绘制曲线,但得到的曲线只有我预期的那样。有人帮忙吗?谢谢

这是我得到2条曲线的程序

这就是峰的样子-> [1721.64052934 3791.89782429 4285.67013482 837.99662477 1949.75202969   250.4119814]

peaks = np.asarray(peaks)
sigma_peaks = np.asarray(sigma_peaks)

x = [511,1173.237,1332.501,215.98,583.20,59.54]
x = np.asarray(x)

plt.figure(figsize=(20,10))
plt.scatter(x,peaks,label='data')
params, params_covariance = optimize.curve_fit(fitmodel.pol1, x, peaks)
print(params)
perr  = np.sqrt(np.diag(params_covariance))
print(perr)
plt.plot(x, fitmodel.pol1(x, *params), label='fit', color = 'red')
plt.ylabel('Peak position')
plt.xlabel('Energy (keV)')
plt.grid()
plt.legend()
plt.show()

0 个答案:

没有答案