我有采样数据并用imshow()
:
我想在水平轴上进行插值,以便我可以更轻松地区分样本和点特征。 是否可以使用MPL在一个方向上进行插值?
更新:
SciPy具有各种插值方法的整个包。
我使用了最简单的interp1d,如 tcaswell :
def smooth_inter_fun(r):
s = interpolate.interp1d(arange(len(r)), r)
xnew = arange(0, len(r)-1, .1)
return s(xnew)
new_data = np.vstack([smooth_inter_fun(r) for r in data])
线性和立方结果:
正如所料:)
答案 0 :(得分:4)
此tutorial涵盖了numpy / scipy中可用的插值范围。如果你只想一个方向,我会独立处理每一行,然后重新组合结果。您可能还感兴趣的只是平滑数据(exmple,Python Smooth Time Series Data,Using strides for an efficient moving average filter)。
def smooth_inter_fun(r):
#what ever process you want to use
new_data = np.vstack([smooth_inter_fun(r) for r in data])