Pod koniec ostatniej funkcji, którą wywołuję w jednym z moich programów, mam następujący kod do wykreślenia prostego koloru wydruku.plt.show() powodujące zawieszenie terminala
plt.figure()
plt.pcolormesh(X,Y,Z)
plt.colorbar()
plt.show()
Powtórzenia Wracam do głównego i mój program jest kompletny. Wykres wyświetla się zgodnie z oczekiwaniami, jednak kiedy go zamykam za pomocą przycisku x w rogu (na ubuntu), mój program się nie kończy. Po prostu zawiesza się z uruchomionym procesem. Jak mogę to poprawić?
Szybki i brudny rozwiązaniem mogłoby być spróbuj użyć 'plt.draw()' zamiast 'plt.show()'. 'show()' ładuje wszystkie interaktywne narzędzia, gdzie 'draw()' powinno być prostą przeglądarką, która może grać ładniej z resztą twojego programu. – jozzas
Również, której wersji Matplotlib używasz? Wersja 1.0.0 wprowadziła kilka zmian w 'show()', aby uczynić go bardziej kompatybilnym z tym, co chcesz zrobić. [Zobacz dokumentację] (http://matplotlib.org/faq/howto_faq.html#use-show), aby uzyskać więcej informacji. – jozzas
Używasz ipython lub jakiejś innej przyjaznej konsoli Matplotlib, która poprawnie obsługuje wątki GUI? – DaveP