Я часами пытался заставить этот простой скрипт работать, но ничего, что я делаю, похоже, не помогает.Это небольшая модификация самого базового примера кода анимированного сюжета с сайта Matplotlib, который должен показывать только несколько кадров шума (у меня та же проблема с неизмененным кодом с их сайта BTW).
На моемкомпьютер с бэкэндом TkAgg Я получаю около 20 кадров (из 60), пока окно графика не замерзнет.С Qt4Agg я просто получаю замороженное черное окно, и никакие рамки вообще не отображаются.Я пробовал несколько комбинаций разных версий NumPy, PyQt, Python и Matplotlib, но всегда получал один и тот же результат.
Пожалуйста, дайте мне знать, если это работает для вас или если что-то выглядит неправильно.Я почти уверен, что это работало в прошлом, поэтому я думаю, что это может быть проблема с Windows или что-то, связанное с ion()
.
К вашему сведению, я использую Windows 7 (32-разрядную версию), и яПротестировано с Python 2.6 / 2.7, MPL 1.0.0 / 0.9.9.8, PyQt 4.6 / 4.7, Numpy 1.4 / 1.5b.
import matplotlib
matplotlib.use('TkAgg') # Qt4Agg gives an empty, black window
from pylab import *
import time
ion()
hold(False)
# create initial plot
z = zeros(10)
line, = plot(z)
ylim(-3, 3)
for i in range(60):
print 'frame:', i
d = randn(10)
line.set_ydata(d)
draw()
time.sleep(10e-3)
Эта более простая версия также зависает после первой пары кадров:
from pylab import *
ion()
hold(False)
for i in range(40):
plot(randn(10))
draw()
show()
Спасибо!
РЕДАКТИРОВАТЬ : Эти люди, похоже, имеют ту же или похожую проблему, что и я:
- mail-archive.com/matplotlib-users@lists.sourceforge.net/msg10844.html
- stackoverflow.com / questions / 2604119 / matplotlib-pyplot-pylab-not-update-figure-while-isinteractive-using-ipython
- mail-archive.com/matplotlib-users@lists.sourceforge.net/msg01283.html
Не похоже, что кто-либо из них смог это исправить либо :(