加速matplotlib图更新

时间:2015-07-08 20:54:50

标签: python python-2.7 canvas matplotlib figure

我正在使用带有matplotlib的Python 2.7.9来显示从FigureCanvasTKAgg中的微控制器获取的实时数据。图形本身必须始终显示最后100个点并调整Y轴的大小以显示和“紧密贴合”。所有要点。 X轴也会更新,以显示每个点的正确时间戳。

此图更新涉及在每个图像更新时重新绘制所有艺术家(因为所有图像更改),每100毫秒使用 self.scrollView.delaysContentTouches = true self.scrollView.canCancelContentTouches = true 方法调用。我使用after更新实际数据点和更新Y轴和X轴限制所需的方法,然后是line.set_data(x,y)。这样工作正常,几乎是5fps(绘图本身需要大约100ms)。

我的问题是:有更快的方法吗?根据我的理解,canvas.draw()方法重绘整个画布,包括子图。有没有办法只更新显示的行和样条曲线,从而增加fps?

我尝试使用draw和其他人来实现解决方案,但是这会添加新的艺术家并且不会删除之前的艺术家。

0 个答案:

没有答案