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

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

Linda Hamilton
Linda Hamilton原创
2024-12-08 00:24:16336浏览

How Can I Achieve Real-Time Plotting Within a While Loop in Python?

在 While 循环中实时绘图

作为数据驱动应用程序的一部分,开发人员经常遇到实时绘制数据的挑战。然而,当尝试在“while”循环中实现实时绘图时,会出现一个常见问题。

考虑以下示例,我们的目标是使用 OpenCV 实时绘制随机数据点:

fig = plt.figure()
plt.axis([0, 1000, 0, 1])

i = 0
x = list()
y = list()

while i < 1000:
    temp_y = np.random.random()
    x.append(i)
    y.append(temp_y)
    plt.scatter(i, temp_y)
    i += 1
    plt.show()

不幸的是,这段代码无法实时单独绘制点。相反,它会暂停程序的执行,直到循环完成后再显示图形。

启用实时绘图的关键在于在循环内调用 plt.pause(0.05) 函数。该函数不仅使用最新数据更新绘图,还运行 GUI 的事件循环。这允许用户交互,确保绘图在循环执行期间保持响应和交互:

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()

通过合并 plt.pause(0.05),您可以解锁实时绘制数据点的能力 -时间,让您可以在数据流入时将其可视化。

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

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