【发布时间】:2018-07-21 15:11:16
【问题描述】:
我有以下绘制图表的脚本:
x = np.array([0,1,2])
y = np.array([5, 4.31, 4.01])
plt.plot(x, y)
plt.show()
问题是,这条线从一个点到另一个点是笔直的,但我想平滑点之间的线。
如果我使用 scipy.interpolate.spline 来平滑我的数据,我会得到以下结果:
order = np.array([0,1,2])
y = np.array([5, 4.31, 4.01])
xnew = np.linspace(order.min(), order.max(), 300)
smooth = spline(order, y, xnew)
plt.plot(xnew, smooth)
plt.show()
但我希望得到与给定 example 相同的结果
【问题讨论】:
-
如果您知道潜在的相关性(例如指数衰减或其他),您可以使用
scipy.optimize.curvefit将函数拟合到数据中。
标签: python matplotlib plot