Python 3.x 初始化datetime64 RingBuffer
我对的环形缓冲区有一个稍微修改的实现。我想用Python 3.x 初始化datetime64 RingBuffer,python-3.x,numpy,matplotlib,Python 3.x,Numpy,Matplotlib,我对的环形缓冲区有一个稍微修改的实现。我想用datetime64值初始化它。我可以这样得到最后一分钟: self.x = RingBuffer( np.array([ np.datetime64('now') - np.timedelta64(seconds=i) for i in range(60) ])) self.y = RingBuffer(np.zeros(60)) 然而,没有关于最后一分
datetime64
值初始化它。我可以这样得到最后一分钟:
self.x = RingBuffer(
np.array([
np.datetime64('now') - np.timedelta64(seconds=i)
for i in range(60)
]))
self.y = RingBuffer(np.zeros(60))
然而,没有关于最后一分钟的数据。我想在self.x
中加入一些,但这似乎没有什么线索。每隔一秒钟(比如说),一个新的实际值(来自某个传感器)将添加到self.y
,当前时间戳将添加到self.x
如何使用缺少的值初始化self.x
该数据最终通过MatPlotLib
..绘制,使用a,这实际上很简单:
self.x = RingBuffer(
ma.array([
now - np.timedelta64(datetime.timedelta(microseconds=i))
for i in range(self._seconds)
], mask=self._seconds*[True]))
self.y = RingBuffer(ma.zeros(self._seconds),
mask=self._seconds*[True])
其中类环形缓冲区(ma.MaskedArray)
。要绘制数据,需要执行以下操作:
self.plt.set_xdata(self.x.compressed())
self.plt.set_ydata(self.y.compressed())