我正在使用Python和matplotlib。 我有很多用数组生成的点。
fig, ax = plt.subplots(ncols=1, nrows=1, figsize=Groesse_cm/2.54)
ax.set_title(title)
ax.set_xlabel(xlabel) # Beschriftung X-Achse
ax.set_ylabel(ylabel) # Beschriftung Y-Achse
ax.plot(xWerte, yWerte, 'ro', label=kurveName)
ax.plot(xWerte, y2Werte, 'bo', label=kurveName2)
plt.show()
所以我有arrayX
表示x值,有arrayYmax
表示Y值(红色),有arrayYmin
表示Y值(蓝色)。我不能给你我的数组,因为那太复杂了
我的问题是: 如何获得上图中的样条线/拟合?我不知道拟合点的函数,所以我只有具有[x/y]值的点。所以我不想连接我想要的点。所以是的,我说适合这个:D
下面是一个我不想看到的例子: 这方面的代码是:
fig, ax = plt.subplots(ncols=1, nrows=1, figsize=Groesse_cm/2.54)
degree = 7
np.poly1d(np.polyfit(arrayX,arrayYmax,degree))
ax.plot(arrayX, arrayYmax, 'r')
np.poly1d(np.polyfit(arrayX,arrayYmin,degree))
ax.plot(arrayX, arrayYmin, 'b')
#Punkte
ax.plot(arrayX, arrayYmin, 'bo')
ax.plot(arrayX, arrayYmax, 'ro')
plt.show()
你非常接近,你只需要使用你正在估计/拟合的多项式模型
从拉入包和定义数据开始:
然后,我们估计多项式拟合,正如您所做的那样,但将结果保存到一个变量中,以便稍后使用:
接下来,我们绘制数据:
接下来,我们使用上面的多项式拟合绘制一组采样点的估计值:
给我们:
请注意,我使用的次数多项式(1和2)远低于您(7)。一个七次多项式无疑是对这少量数据的过度拟合,而这些数据看起来是合理的拟合
相关问题 更多 >
编程相关推荐