在循环中绘图时,Matplotlib不会打开绘图窗口

时间:2016-01-25 22:03:13

标签: 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.sleep(0.05)

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

1 个答案:

答案 0 :(得分:2)

我通过及时绘图遇到了Python3的问题 这应该适合你。

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)