首页 > 后端开发 > Python教程 > 如何在 Matplotlib While 循环中实现实时绘图?

如何在 Matplotlib While 循环中实现实时绘图?

DDD
发布: 2024-12-06 04:33:17
原创
999 人浏览过

How to Achieve Real-Time Plotting in a Matplotlib While Loop?

使用 Matplotlib 在 While 循环中实时绘图

在这个问题中,用户尝试使用 OpenCV 实时绘制数据, matplotlib。然而,实时绘图并没有按预期工作。用户提供了一个简化的示例,其中绘图不会一次填充一个点,而是等待循环完成。

要解决此问题,我们需要了解 matplotlib 如何实时更新绘图。默认情况下,matplotlib 期望对 plt.show() 的函数调用来显示绘图,然后阻塞直到绘图窗口关闭。这种行为会导致数据无法实时绘制。

解决方案是使用 plt.pause() 函数。 plt.pause(0.05) 绘制新数据,运行 GUI 的事件循环,并将绘图暂停 0.05 秒。这允许绘图实时更新并响应鼠标交互。

这是成功实时绘制 10 个点的修改后的代码:

import numpy as np
import matplotlib.pyplot as plt

plt.axis([0, 10, 0, 1])

for i in range(10):
    y = np.random.random()
    plt.scatter(i, y)
    plt.pause(0.05)

plt.show()
登录后复制

通过此调整,绘图将现在显示生成的每个点,从而实现实时可视化。

以上是如何在 Matplotlib While 循环中实现实时绘图?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板