Javascript 获取Python中使用scipy.daub生成的Daubechies小波的点坐标对
我一直在尝试获取组成用scipy.daub生成的Daubechies小波的点的坐标,以便将它们发送到websocket并绘制在Canvas.js动态图表上 我设法将数据发送到浏览器,并将点绘制在图表上(因此没有问题),但我得到的只是锯齿波。我意识到这是因为对于我接收到的每个Y坐标,我将x值增加1 然而,据我所知,完美Daubechies小波是使用matplotlib.pylab绘制的,返回的点列表包含y值。下面是我如何生成小波的(顺便说一句,它将成为一个ECG模拟器): 那么,既然ecg列表返回y值,有没有什么方法可以得到x值,这样我就可以通过websocket将它们传递到一起,并将它们正确地绘制在图表上Javascript 获取Python中使用scipy.daub生成的Daubechies小波的点坐标对,javascript,python,matplotlib,scipy,signal-processing,Javascript,Python,Matplotlib,Scipy,Signal Processing,我一直在尝试获取组成用scipy.daub生成的Daubechies小波的点的坐标,以便将它们发送到websocket并绘制在Canvas.js动态图表上 我设法将数据发送到浏览器,并将点绘制在图表上(因此没有问题),但我得到的只是锯齿波。我意识到这是因为对于我接收到的每个Y坐标,我将x值增加1 然而,据我所知,完美Daubechies小波是使用matplotlib.pylab绘制的,返回的点列表包含y值。下面是我如何生成小波的(顺便说一句,它将成为一个ECG模拟器): 那么,既然ecg列表返回
干杯 我终于明白了。x值由t给出。我知道,我真是太蠢了,没看到这个
无论如何谢谢你 将x值增加1似乎没有问题,因为采样的间隔似乎相等。得到锯齿波的事实听起来更像是y值有问题。这就是我试图解释的,输入pylab.plot的相同y值会产生所需的波形。所以我不明白他们怎么会错?
def generate_waves(hr, n):
global ecg
interval = 1.0 * 60 / hr
rr = [interval + random.uniform(0.0, 0.1 * interval) for i in range(n)]
fs = 1000.0 # sampling rate
pqrst = scipy.signal.daub(9)
ecg = scipy.concatenate([scipy.signal.resample(pqrst, int(r*fs)) for r in rr])
t = scipy.arange(len(ecg))/fs
pylab.plot(t, ecg)
pylab.show()