Python Matplotlib不';在循环中绘图时,不要打开绘图窗口

Python Matplotlib不';在循环中绘图时,不要打开绘图窗口,python,matplotlib,Python,Matplotlib,我想实时绘制一些数据,因此我尝试了以下简单示例: import time import numpy as np import matplotlib.pyplot as plt plt.axis([0, 1000, 0, 1]) plt.ion() plt.show() for i in range(1000): print "in" y = np.random.random() plt.scatter(i, y) plt.draw() time.sle

我想实时绘制一些数据,因此我尝试了以下简单示例:

import time
import numpy as np
import matplotlib.pyplot as plt

plt.axis([0, 1000, 0, 1])
plt.ion()
plt.show()

for i in range(1000):
    print "in"
    y = np.random.random()
    plt.scatter(i, y)
    plt.draw()
    time.sleep(0.05)

打印窗口只会打开,但上面没有打印任何内容(窗口实际上停止响应)。我注意到它确实在执行for循环,因为我可以使用“in”打印输出

我遇到了Python3与in-time绘图的问题。
这应该对你有用

import numpy as np
import matplotlib.pyplot as plt

plt.axis([0, 1000, 0, 1])
plt.ion()
plt.show()

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

plt.draw()
Hello@threxx之前尝试
plt.figure()
。只有一堆女人出现了。如果我指明要绘制int的图形(即plt.图(1)),仍然没有发生任何事情。
pause
在as
sleep
不起作用的地方工作的原因是
pause
也运行GUI事件循环。@tcaswell,您所说的“
pause
也运行GUI事件循环”是什么意思