问题:
如何在 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中文网其他相关文章!