python - matplotlib 只能更新最新的点到图中吗?

标签 python opencv matplotlib

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 类。一个数据事先已知但点被一一绘制的示例是 this example .在该示例中,如果最新点在当前 x-lim 之外,则重新绘制图形。如果您知道数据的范围,则可以通过预先设置限制来避免它。

您可能还想查看 this answer , animate example listanimate documentation .

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

相关文章:

python - 如何在饼图 matplotlib 上生成更多颜色

python - 如何优化groupby上的apply调用

OpenCV - 如何将像素跟随轮廓转换为顶点跟随轮廓

c++ - 使用 opencv/c++ 计算两个图像之间的相似率

python - 如何按两个变量分组的条形图

python - 在 plt.plot 上将 pd.Grouper 转换为人类可读的格式

python - Flask - 访问模板中的配置变量

python - 从 Numpy 中的 N 个向量中找到所有唯一的(几乎)平行 3d 向量对的最快方法

python - 使用 RLE 读取和压缩图片

c++ - 应该使用其引用传递对象增加引用计数类中的引用计数