matplotlib是否可能仅将最新点更新到图形,而不是重新绘制整个图形?

例如:这可能是动态绘图的最快方法

initiate:
fig1 = Figure(figsize = (8.0,8.0),dpi = 100)
axes1 = fig1.add_subplot(111)
line1, = axes1.plot([],[],animated = True)

when new data is coming:
line1.set_data(new_xarray,new_yarray)
axes1.draw_artist(line1)
fig1.canvas.update()
fig1.canvas.flush_events()

但这将重绘整个图形!我认为这是否可能:
when new data is coming:
axes1.draw_only_last_point(new_x,new_y)
update_the_canvas()

它只会将此新点(new_x,new_y)添加到轴上,而不是重新绘制每个点。

如果您知道哪个python图形库可以做到这一点,请回答或评论,非常感谢!!!!

非常感谢您的帮助!

最佳答案

仅重绘整个图形是否是问题所在,也就是说,只要图形不变,就可以重画线条本身?数据是事先知道的吗?

如果对这些问题的回答为“否”和"is",那么可能值得研究matplotlib的animate -class。数据事先已知但点被一一画出的一个示例是this example。在该示例中,如果最新点在当前x-lim之外,则重绘该图形。如果您知道数据范围,可以通过预先设置限制来避免。

您可能还想研究this answeranimate example listanimate documentation

关于python - matplotlib只能更新图的最新点吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38731903/

10-12 06:00