2012-03-04 17 views
18

Powiel możliwe:
matplotlib does not show my drawings although I call pyplot.show()Dlaczego funkcja pyplot.show() nie działa?

jestem nowicjuszem do matplotlib i spotkałem ten problem. Używam systemu Ubuntu. Zacząłem od Matplotlib 0.99 i zdałem sobie sprawę, że naprawdę potrzebuję nowej funkcji "triplot" w nowszych wersjach. Dlatego pobrałem najnowszą wersję:

git clone git://github.com/matplotlib/matplotlib.git 

i zainstalowałem ją. Jednak, gdy pracuję z pythonem interaktywnie, pyplot.show() nie pokazuje mi figury, którą rysuję, ani nie odpowiedziałem żadnym komunikatem o błędzie. pyplot.show() działa w starej wersji programu matplotlib 0.99.

Wydaje się, że nie miałem problemu z importowaniem "matplotlib" lub modułów wewnątrz paczki; Potrafię generować pliki pdf z mnóstwem liczb, ale po prostu nie mogę pokazać tej postaci, wpisując na końcu mojego kodu pyplot.show(). Czy ktoś może mi pomóc? Dziękuję Ci!

+0

może podobne pytanie do tego: http://stackoverflow.com/questions/7534453/matplotlib-does-not-show-my-drawings-although-i-call-pyplot -show –

+0

Jak używasz swojego programu? Jeśli jesteś w standardowym interaktywnym interpreterze python, 'show' nie będzie działał, ponieważ musi działać w osobnym wątku, a interaktywny interpreter go blokuje. 'ipython' i inne bardziej zaawansowane powłoki interaktywne są częściowo z tego powodu. (I mają wiele pożytecznych funkcji, których nie ma standardowy interaktywny interpreter). –

+0

W przeciwnym razie jest możliwe, że nie masz zainstalowanej wersji rozwojowej 'Tk' lub innych bibliotek GUI, a więc' matplotlib' nie był w stanie zbudować domyślnego, interaktywnego backendu. –

Odpowiedz

14

miałem ten sam problem i rozwiązać go poprzez ustawienie odpowiedniego zaplecza wyświetlacza, po matplotlib does not show my drawings although I call pyplot.show()

Istnieją dwa sposoby osiągnięcia tego celu:

1.Set backend w kodzie, zaraz po imporcie matplotlib :

import matplotlib 
matplotlib.rcParams['backend'] = "Qt4Agg" 

2.Or zdefiniować backend wewnątrz pliku matplotlibrc (podane przez matplotlib.matplotlib_fname()):

backend  : Qt4Agg 

Więcej informacji tutaj: http://matplotlib.sourceforge.net/users/customizing.html

+0

Uratowałeś mi mnóstwo czasu, dziękuję. – Arty

Powiązane problemy