我正试图用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点。实际发生的情况是,窗口弹出并显示第一个点(表示正确),然后等待循环结束,然后填充图的其余部分。 有什么想法为什么我一次看不到点呢? 问题答案: 这是有问题的代码的工作版本(至少需要从2011-11-14起版本)
我正在尝试使用Postman来验证API。我可以毫无问题地验证单个请求,并获得所需的输出。但是,我现在想进行负载测试,并运行相同的调用5次。 我尝试使用for和while循环,但是Postman给出了一个错误。
问题内容: 所以我想让我的程序读取一个输入,该输入在一行中有一些整数,例如: 1 1 2 然后,它应该分别读取每个整数并在新行中打印。程序必须读取的整数数量没有预先给出,所以我想做的是使用while循环,该循环在没有更多的整数可读取之后结束。这是我写的代码: 但是它不能正常工作,因为循环永远不会结束,它只希望用户输入更多的整数。我在这里想念什么? 问题答案: 扫描程序基本上会等到文件结束进入。如果
问题内容: 我也在学习Java和android。我们可以在while循环中执行的几乎所有事情都可以在while循环中执行。 我发现一个简单的条件,使用while循环比for循环更好 如果我必须在程序中使用counter的值,那么我认为while循环要比for循环好 使用while循环 在这种情况下,我发现while循环要比for循环好,因为如果要在for循环中实现相同的效果,则必须将counter
问题内容: 我有一个相当简单的绘图例程,如下所示: 当我在单次迭代中绘制此图时,它工作正常。但是,当我将其放入循环中时,matplotlib发出了嘶嘶声。 如果这有所不同,则会在迭代2(从1开始)上发生。该代码在具有python 2.5和matplotlib 0.99.1,numpy 1.3.0和scipy 0.7.1的Windows XP 32位上运行。 编辑: 现在,代码已更新,以反映崩溃实际
这是我目前所掌握的: