2

当我的数据进入时,我只是想通过 ipython 使用 matplotlib 进行绘图。我正在使用 -pylab 选项打开 ipython。在下面的代码中,time.sleep(1) 只是作为我的实验收集数据所需时间的占位符。该代码成功清除了之前绘制的数据,并使用新数据集更新了图形。但是,当我尝试在屏幕上移动图形时,图形会冻结,并且不会随着代码的运行而更新(在图形的标题中显示“无响应”标题)。我想要图形移动性,因为最终会有多个图跟踪实验的进度。我希望可以在它们之间切换而不会冻结所有内容。有什么建议么?在 Windows 7 机器上使用 python 2.6 运行。

import numpy as np
import matplotlib.pyplot as plt
import time
plt.ion()
fig = plt.figure(1)
ax = fig.add_subplot(111)
for k in range(100):
    plt.cla()
    time.sleep(1)
    ax = fig.add_subplot(111)
    ax.semilogy(np.random.rand(100))
    fig.canvas.draw()
    plt.draw()
4

0 回答 0