Ich habe stundenlang versucht, dieses einfache Skript zum Laufen zu bringen, aber nichts, was ich tue, scheint mir zu helfen. Es ist eine geringfügige Änderung des grundlegendsten animierten Plot-Beispielcodes von der Matplotlib-Website, die nur ein paar Frames von Rauschen zeigen sollte (ich habe das gleiche Problem mit dem unmodifizierten Code von ihrer Website BTW).Matplotlib-Animation friert entweder nach ein paar Frames ein oder funktioniert einfach nicht
Auf meinem Computer mit dem TkAgg-Backend bekomme ich etwa 20 Frames (von 60), bevor das Plotfenster einfriert. Mit Qt4Agg bekomme ich nur ein eingefrorenes schwarzes Fenster und es werden überhaupt keine Frames geplottet. Ich habe mehrere Kombinationen verschiedener NumPy-, PyQt-, Python- und Matplotlib-Versionen ausprobiert, aber immer das gleiche Ergebnis.
Bitte lassen Sie mich wissen, wenn dies für Sie funktioniert oder wenn etwas schief aussieht. Ich bin mir ziemlich sicher, dass das in der Vergangenheit funktioniert hat, also denke ich, dass es ein Windows-Problem oder etwas sein könnte, das mit ion()
zusammenhängt.
FYI Ich benutze Windows 7 (32 Bit) und habe mit Python 2.6/2.7, MPL 1.0.0/0.9.9.8, PyQt 4.6/4.7, Numpy 1.4/1.5b getestet.
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)
Diese einfachere Version friert auch nach den ersten paar Frames:
from pylab import *
ion()
hold(False)
for i in range(40):
plot(randn(10))
draw()
show()
Dank!
EDIT: scheinen Diese Menschen wie mir das gleiche oder ein ähnliches Problem mit zu:
- mail-archive.com/[email protected]/msg10844.html
- stackoverflow.com/questions/2604119/matplotlib-pyplot-pylab-not-updating-figure-while-isinteractive-using-ipython
- mail-archive.com/[email protected]/msg01283.html
Sieht nicht aus wie jeder von ihnen konnte es auch reparieren :(
ich die Codes versucht, oben in Windows (64-Bit) mit Python 2.6.5, Numpy 1.5.0b1 und Matplotlib 1.0.0 ohne Probleme mit der cmd-Zeile. Ich habe sie auch in IDLE ausprobiert und der erste Code hängt und stürzt am Ende ab, aber der zweite funktionierte gut, was mich überraschte. Ich weiß nicht, ob das überhaupt hilft, aber da hast du es. Ich habe keine QT-Sachen installiert, also war das alles mit Tk. –
Vielen Dank Justin. Sind Sie sicher, dass alle Frames angezeigt wurden? Ich bekomme ein paar, bevor die Dinge mich einfrieren. – Roger
Denke, dass die QTAgg-Probleme damit zusammenhängen [github-Problem] (https://github.com/matplotlib/matplotlib/issues/1646), wobei pause() mit pylab anstelle von draw() funktioniert, auch show() sollte nicht t benötigt werden. – seumas