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
在assleep
不起作用的地方工作的原因是pause
也运行GUI事件循环。@tcaswell,您所说的“pause
也运行GUI事件循环”是什么意思