aktualisieren eines pylab-plots unter pygtk in echtzeit

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
Benutzeravatar
dall♀
User
Beiträge: 12
Registriert: Dienstag 23. März 2010, 15:44

hi,
ich nutze pygtk und pylab/matplotlib und möchte einen plot erstellen, der sich fortwährend aktualisiert, ohne dass die plot-gui dabei blockiert wird. hab schon recherchiert und eine handvoll methoden gefunden, die alle nicht so ganz den gewünschten effekt bringen. am nächsten drangekommen bin ich mit folgendem:

Code: Alles auswählen

from pylab import *
ion()      # interactive mode on
# (...)
line, = pylab.plot(x,y)
draw()
# schleife: auf aktualisierung der werte warten, dann:
line.set_data(x,y)
draw()
das funktioniert, der plot wird auch aktualisiert, mir fehlt dabei aber noch die autoscale-methode. wie ruf ich die auf, wo gehört die hin? ich habe ja kein axes-objekt.
und was außerdem eigentlich das viel größere problem ist: wenn ich das plot-fenster schließen will, bleibt es in der aktualisierungsschleife hängen. gibt es eine möglichkeit, das close-event des plot-fensters abzufangen? kann man da irgendwie ein figure-objekt abholen?
bin für alle ideen dankbar.
Antworten