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 answer,animate example list或animate documentation。
关于python - matplotlib只能更新图的最新点吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38731903/