当前位置: 首页 > 面试题库 >

Python-如何使用matplotlib在while循环中实时绘制?

魏书
2023-03-14
问题内容

我正在尝试使用OpenCV从摄像机实时绘制一些数据。但是,实时绘图(使用matplotlib)似乎不起作用。

我将问题隔离到以下简单示例中:

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

我希望该示例可以单独绘制1000点。实际发生的情况是,窗口弹出并显示第一个点(表示正确),然后等待循环结束,然后填充图的其余部分。

有什么想法为什么我一次看不到点呢?


问题答案:

这是有问题的代码的工作版本(至少需要从2011-11-14起版本Matplotlib 1.1.0):

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)均绘制新数据,并运行GUI的事件循环(允许鼠标交互)。



 类似资料:
  • 我正试图用OpenCV实时地从相机中绘制一些数据。然而,实时绘图(使用matplotlib)似乎不起作用。 我希望这个例子能画出1000个点。实际发生的情况是,窗口弹出并显示第一个点(可以了),然后等待循环完成,然后填充图的其余部分。 有什么想法为什么我没有看到点一次一个?

  • 我正在尝试使用Postman来验证API。我可以毫无问题地验证单个请求,并获得所需的输出。但是,我现在想进行负载测试,并运行相同的调用5次。 我尝试使用for和while循环,但是Postman给出了一个错误。

  • 问题内容: 我有一个格式为(HH:MM:SS.mmmmmm)的时间戳数组和另一个浮点数数组,每个浮点数对应于timestamp数组中的一个值。 我可以使用Matplotlib在x轴上绘制时间,在y轴上绘制数字吗? 我试图这样做,但是不知何故它只接受浮点数数组。如何获得时间图?我必须以任何方式修改格式吗? 问题答案: 你必须首先将时间戳转换为对象(使用)。然后使用将日期转换为格式。 使用以下方式绘制

  • 问题内容: 我正在学习线性代数课程,我想可视化正在使用的向量,例如向量加法,法向向量等。 例如: 在这种情况下,我想绘制3个向量。 然后,我应该能够添加V1,V2来绘制一个新的向量V12(全部合并在一个图中)。 当我使用以下代码时,情节与预期不符 问题答案: 多亏了每个人,您的每个帖子对我都有很大帮助。 对于我的问题,rbierman代码非常简单,我做了一些修改,并创建了一个函数来绘制给定数组中的

  • 我目前有一个问题,每次我试图在我的代码中使用一个以上的虽然真实循环网站崩溃。我编码与python海龟,一个很好的初学者的方式开始编码与python。所以基本上,我试图让海龟物体无限旋转,直到玩家按下空格键。当海龟物体是蓝色时,海龟被触发旋转。一旦玩家按下按钮,海龟物体就会变成绿色,标志着它停止转动,并在按下空格键之前朝着海龟物体所面对的方向前进300像素。这个小游戏的目标是击中被称为目标的红球。每

  • 本文向大家介绍Python While循环,包括了Python While循环的使用技巧和注意事项,需要的朋友参考一下 示例 甲while环会引起将要执行的循环语句,直到循环条件为falsey。以下代码将执行循环语句总共4次。 尽管上述循环可以轻松地转换为更优雅的for循环,但是while循环对于检查是否满足某些条件很有用。以下循环将继续执行直到myObject准备就绪。 while通过使用数字(