Python - 插入分散数据点中的间隙

时间:2018-01-08 11:45:53

标签: python interpolation

我试图插入数据点之间的间隙。我拥有的数据是2个时间和加速阵列。加速度数组由可被视为周期性的值组成。带有差距的原始数据点如下所示: 带间隙的数据点

data points with gap

我正在尝试使用scipy.interpolate.interp1d进行插值,如下图所示:

interpolation_func = interpolate.interp1d(time, acceleration, 
kind='slinear')
new_time = np.arange(np.min(time), np.max(time), 0.1)
new_acc = interpolation_func(new_time)
plt.figure(2, figsize=(14, 8))
plt.title('Interpolated uncalibrated acceleration data')
plt.scatter(new_time, new_acc, c=new_time[:], s=1, vmin=np.min(new_time), 
vmax=np.max(new_time))
plt.colorbar()
plt.xlabel('Time [s]')
plt.ylabel('Acceleration')
plot_fig2 = (output_folder + "kinematic_plot2.png")
plt.savefig(plot_fig2)

但是,我得到的结果并不准确,因为我得到一条连接第一组散点的最后一个点的线,位于间隙的左侧,第一个点来自第二组点,在差距的右侧。错误的结果如下所示:

错误的结果

Wrong result

我尝试过scipy.interpolate.interp1d函数中的其他选项,而不是类型的线性,但是所有这些选项都会使间隙两侧的散点变平,并用多项式图填充间隙,这是不是我需要的。 python中是否有任何选项可以插入散点之间的间隙?

0 个答案:

没有答案