Alla fine dell'ultima funzione che richiamo in uno dei miei programmi, ho il seguente codice per tracciare un semplice grafico a colori.plt.show() che fa il blocco del terminale
plt.figure()
plt.pcolormesh(X,Y,Z)
plt.colorbar()
plt.show()
Afterwords Torno al main e il mio programma è completo. La trama viene visualizzata come previsto, tuttavia quando vado a chiuderla usando il pulsante x nell'angolo (su ubuntu), il mio programma non finisce. Si blocca lì con un processo in esecuzione. Come posso correggere questo?
Una soluzione rapida e sporca potrebbe essere quella di provare a utilizzare 'plt.draw()' invece di 'plt.show()'. 'show()' carica tutti gli strumenti interattivi, dove 'draw()' dovrebbe essere un semplice visualizzatore che può giocare più bene con il resto del programma. – jozzas
Inoltre, quale versione di matplotlib stai usando? La versione 1.0.0 ha apportato alcune modifiche a 'show()' per renderlo più compatibile con ciò che si vuole fare. [Vedi i documenti] (http://matplotlib.org/faq/howto_faq.html#use-show) per maggiori informazioni. – jozzas
Stai usando ipython o qualche altra console matplotlib che gestisce correttamente i thread della GUI? – DaveP