seltsames Verhalten, ich bin sicher, dass es mir zu vermasseln, aber ich möchte auf den Boden bekommen, was passiert:Python Matplotlib hängt, wenn ein zweites Diagramm zum Plotten gefragt (nach dem ersten Chart-Fenstern zu schließen)
ich verwende den folgenden Code ein sehr einfaches Grafikfenster mit matplotlib zu erstellen:
>>> import matplotlib.pyplot as plt
>>> fig = plt.figure()
>>> ax = fig.add_subplot(111)
>>> ax.plot((1, 3, 1))
[<matplotlib.lines.Line2D object at 0x0290B750>]
>>> plt.show()
und wie erwartete ich das Diagramm erhalten würde man, in einem neuen Fenster erwartet, dass immer wieder auftauchte, eine sehr einfache blaue Linie enthalten, gehen von 1 bis 3 wieder auf 1 auf der y-Achse, mit 0, 1, 2 als x-Achse (wie im Beispiel). Jetzt schließe ich das Grafikfenster (mit der Kreuztaste oben rechts unter Windows). Das gibt mir die Steuerung an den Dolmetscher, und ich beginne wieder, die Schaffung neuer Objekte:
>>>
>>> fig1 = plt.figure()
>>> bx = fig1.add_subplot(111)
>>> bx.plot((1, 3, 1))
[<matplotlib.lines.Line2D object at 0x029E8210>]
>>> plt.show()
Diesmal aber ich bekomme einen Fensterrahmen, mit nichts drin (nur der Rahmen, kein weißer Hintergrund nichts), und der ganze Knall Shooting hängt. Ich muss "Task beenden", der Python-Interpreter wird vom System beendet und ich bekomme eine Eingabeaufforderung zurück. Ähnliches Verhalten auf einem Mac (außer dass es den Graphen zuerst grafisch darstellt, bevor er auch hängt).
Also irgendwie Python und/oder Matplotlib will nicht, dass ich das Fenster manuell schließe. Weiß jemand, was hier vor sich geht und was ich tun soll? Ich würde gerne mit verschiedenen Plots im Inneren des Interpreten spielen, und offensichtlich hilft dieses Verhalten nicht. Ich weiß, ich könnte "Ipython -pylab" verwenden, aber im Interesse des Lernens möchte ich den obigen Fehler verstehen.
Danke.
Plotten Ich habe jetzt Casey, aber keine Änderung. Wenn ich plt.show() aufrufen, wird das Diagrammfenster vom Python-Interpreter außer Betrieb gesetzt, dh ich habe keine Eingabeaufforderung. Erst wenn ich das Fenster schließe, bekomme ich die Eingabeaufforderung zurück. Wenn ich dann plt.close() aufrufen und dann weitermachen, verhält es sich genauso, dh hangt. Man bekommt das Gefühl (auf der Matplotlib-Website), dass man im Grunde im iPhython-Modus bleiben soll. –
versuche scipy herunterzuladen, wenn du es noch nicht hast und importiere pylab. es funktioniert genau wie Matplotlib. – Nope
Nein - auch nichts. Wenn pylab importieren und alle oben genannten tun, verhält sich genau so. –