Contents
x = np.array(xs)
t = np.array(ts)
# Create an order 3 lowpass butterworth filter:
b, a = signal.butter(3, 0.05)
# Use filtfilt to apply the filter:
fx = signal.filtfilt(b, a, x)

pl.subplot(211)
pl.plot(t, fx, 'b', alpha=0.75)
pl.title('3 0.05')

pl.subplot(212)
pl.plot(t, x, 'b', alpha=0.75)
pl.title('raw data')
pl.show()

这段 numpy 将绘制两个图,大概可能长这样

但是有时候出现某个 fx 在滤波之后绘图失败的问题,或者看不到的问题。原始数据又能正常的绘制出来。一开始以为是值太小了,可能坐标轴不够他显示的。把这个值单独拎出来也没展示。

最后发现是数据源里面有个 NaN 不是正常的浮点数,原始数据绘图没问题,滤波之后的结果没法儿绘制出来,numpy 也不报个错啥的。

Contents