matplotlib.savefig() hängt unter Windows

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Maik1976
User
Beiträge: 6
Registriert: Freitag 13. September 2013, 22:49

Hallo,
bin gerade dabei ein mich weiter mit Python zu beschäftigen und habe die Konfiguration, dass ich zu Hause unter Linux (openSuSE 12.3) arbeite, aber auf Arbeit nur Windows 7 benutzen kann.

Auf beiden habe ich Python 2.7 mit scipy installiert und ich nutze Spyder zum schreiben und testen meiner Scrípt.
Win: Python 2.7.6 (default, Nov 10 2013, 19:24:24) [MSC v.1500 64 bit (AMD64)] on win32, NumPy 1.8.1, SciPy 0.13.3, Matplotlib 1.3.1
+ guidata 1.6.1, guiqwt 2.3.2
Linux: Python 2.7.3 (default, Apr 14 2012, 08:58:41), NumPy 1.8.1, SciPy 0.14.0, Matplotlib 1.3.1

Bisher habe ich schon ne Menge Fehler gemacht und selber gelöst, aber hier komme ich einfach nicht weiter.

Der Codeschnipsel zeigt das Erzeugen meiner Grafik. Nichts wildes. Unter Linux funktioniert alles super. Unter Windows nur bis zum Anzeigen der Grafik.
Es wird keine Datei erzeugt. Erst wenn ich die Grafik schließe wird ein eps-File mit 620 Bytes und ein png-file mit 4 kB erzeugt. Beide sind weiß.

Code: Alles auswählen

import matplotlib.pyplot as plt
plt.close('all')
#plt.rc('text',usetex =True)
#plt.rc('font',family='serif')
#plt.rc('font',serif='Times')

f, axarr = plt.subplots(2, sharex=False)
axarr[0].plot(x, yw/np.amax(yw),'-b')
plt.hold(True)
axarr[0].plot(x, w,'-r')
axarr[0].set_title('Signal')
axarr[1].plot(xf[1:N*PadFactor/2], ywf[1:N*PadFactor/2], '-r')

plt.grid()
plt.show()

plt.savefig('fft.eps')
plt.savefig('fft.png')
Die verwendung von LaTeX habe ich auch erstmal auskommentiert, wenn das drin ist kommen auch noch weiter Fehlermeldungen.
BlackJack

@Maik1976: Das die Grafikdateien erst nach dem schliessen des Fensters erzeugt werden überrascht mich jetzt nicht wirklich, denn das `show()` ist soweit ich weiss nicht asynchron.
Maik1976
User
Beiträge: 6
Registriert: Freitag 13. September 2013, 22:49

Komisch nur dass es unter Linux geht.
Und bei meiner Windowsversion werden zwei leere Grafiken erstellt, die sind einfach nur weiß.
Antworten