Sto eseguendo Python v2.7 e matplotlib v1.5.0 su Mac OS X Yosemite. Fino a poco tempo fa, ero in grado di eseguire il mio script nell'interprete interattivo, mostrare un grafico e quindi uccidere manualmente la finestra. Ad esempioImpossibile chiudere manualmente la finestra plot matplotlib
import numpy as np
x = np.arange(1,10)
y = np.arange(1,10)
plt.plot(x,y)
plt.show()
Questo funzionava correttamente. La finestra si chiudeva e tornavo al prompt. Tuttavia, ora quando colpisco la X rossa per chiudere la finestra, la finestra rimane aperta. Il mio prompt dei comandi ritorna e funziona bene, ma la finestra è bloccata e vedo il pallone da spiaggia rotante su di esso.
(Si noti che il cursore non appare nell'immagine, ma si può vedere la X rossa è grigio perché ho colpito vicino, ma è bloccato aperto).
Solo dopo aver eseguito lo script una seconda volta la prima finestra viene chiusa, ma poi sono bloccato con una seconda trama aperta con lo stesso problema. Sono un po 'confuso perché questo è successo solo di recente. Fino ad ora, la finestra si chiudeva bene.
Non è un problema enorme, perché Python è ancora in esecuzione e posso ancora creare nuovi grafici, ma sono curioso di sapere perché la finestra si sarebbe improvvisamente aperta. Qualche consiglio?
UPDATE
ho risolto il problema passando backend interattivo. Qt4Agg o TkAgg come backend interattivo risolve il problema. Ma la domanda rimane il motivo per cui i backend Macosx e CocoaAgg mostrano questo comportamento.
Segnala questo come un bug nel mpl tracker di problemi. Sospetto che ciò che sta accadendo sia che tu sia a) non sei in modalità interattiva quindi il ciclo di eventi della GUI non viene eseguito in background b) c'è un problema di ordine operativo quando chiudi la finestra, il loop di eventi della GUI viene arrestato prima può finire di pulire dopo se stesso. – tacaswell
Puoi fornire il tuo aggiornamento come risposta e poi votarlo come risolto? Ciò aiuterà le altre persone che hanno lo stesso problema. – gabra
Fatto. Risposta alla domanda e il problema è stato inviato al tracker dei problemi di mpl su GitHub. – Nate