首页 >后端开发 >Python教程 >如何在 Matplotlib 中创建实时动态图?

如何在 Matplotlib 中创建实时动态图?

Susan Sarandon
Susan Sarandon原创
2024-11-24 04:56:13363浏览

How to Create Real-time Dynamic Plots in Matplotlib?

在 Matplotlib 中动态更新绘图

问题:

如何在 Python 的 Matplotlib 库中更新实时绘图,添加数据点可用吗?

答案:

Matplotlib 提供了多种实时动画数据的方法。针对您的场景推荐的一种方法是使用动画 API 函数 FuncAnimation。此函数及时对函数进行动画处理,您的函数可以是用于从串行端口获取数据的函数。

每个动画方法通常都会更新绘制对象的数据属性。可以扩展此属性以保留以前的点,同时添加新的点。

鉴于数据到达时间不确定,您可以实现如下所示的函数:

import matplotlib.pyplot as plt
import numpy

hl, = plt.plot([], [])

def update_line(hl, new_data):
    hl.set_xdata(numpy.append(hl.get_xdata(), new_data))
    hl.set_ydata(numpy.append(hl.get_ydata(), new_data))
    plt.draw()

只需使用以下命令调用 update_line每当从串行端口获得新数据点时接收数据。这种方法允许动态绘图更新,而无需清除或重新绘制整个图表。

以上是如何在 Matplotlib 中创建实时动态图?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn