Matplotlib实时更新中的滚动条
我可以做到以下几点:Matplotlib实时更新中的滚动条,matplotlib,Matplotlib,我可以做到以下几点: GetData函数保持在24x7小时内运行和生成数据。GetData将产生两个值。时间是x-数组,值是y-数组 导入plot类并实时打印 窗口将继续移动(从左到右),x窗口将保持5分钟(xmax xmin=datetime.detlta(minutes=5)。旧数据将不可见。 如果我不设置xlim,情节就会挤在一起,不会那么不美观 也就是说,当绘图实时更新时,我可以滚动回以前的数据以查看“历史数据” 我知道我们可以使用matplotlib.pyplot.savefig将绘图
时间
是x-数组,值
是y-数组xmax xmin=datetime.detlta(minutes=5
)。旧数据将不可见。
如果我不设置xlim,情节就会挤在一起,不会那么不美观
也就是说,当绘图实时更新时,我可以滚动回以前的数据以查看“历史数据”
我知道我们可以使用matplotlib.pyplot.savefig
将绘图保存到图像。还有其他建议吗?我可以知道Matplotlib下是否有一个滚动条,带有实时更新吗
谢谢。在的帮助下,最终答案如下
作为问题统计,x是时间戳,将新数据附加到列表中
self.timestampRange = [min(self.timestamp1), max(self.timestamp1) + dt.timedelta(minutes=0.1)] # datetime style
self.loadingValueRange = [min(self.loadingValue), max(self.loadingValue) + 1]
然后设置滑块并编写更新函数。只需要注意x阵列的类型
#Slider setting
self.ssb = Slider(self.axsb, 'Scrollbar',
dates.date2num(self.timestampRange[0]),
dates.date2num(self.timestampRange[1]))
self.ssb.on_changed(self.update)
def update(self,val):
self.sb=self.ssb.val
self.xmin_time=dates.num2date(self.sb)-dt.timedelta(minutes=1)
self.xmax_time=dates.num2date(self.sb)
self.loadingGraph.axis([self.xmin_time,self.xmax_time,min(self.loadingValueRange), max(self.loadingValueRange)])
fig.canvas.draw_idle()
希望能有帮助。谢谢