Właśnie zainstalowałem matplotlib w Ubuntu 9.10 przy użyciu systemu pakietów synaptic. Jednak gdy spróbuję poniższego prostego przykładu
>>> from pylab import plot;
>>> plot([1,2,3],[1,2,3])
[<matplotlib.lines.Line2D object at 0x9aa78ec>]
Nie mam okna wykresu. Jakieś pomysły, jak wyświetlić okno wykresu?
show()
.Odpowiedzi:
Możesz pisać
import pylab pylab.show()
lub lepiej, użyj
ipython -pylab
.Ponieważ stosowanie
pylab
nie jest już zalecane , rozwiązaniem byłoby obecnieimport matplotlib.pyplot as plt plt.plot([1,2,3]) plt.show()
źródło
pylab.show()
działa, ale blokuje (musisz zamknąć okno).Dużo wygodniejszym rozwiązaniem jest zrobienie tego
pylab.ion()
(włączony tryb interaktywny) na początku: wszystkie (odpowiedniki pylabów)pyplot.*
komend natychmiast wyświetlają swój wykres. Więcej informacji na temat trybu interaktywnego można znaleźć na oficjalnej stronie internetowej.Po drugie, korzystam z jeszcze wygodniejszego
ipython -pylab
(--pylab
w nowszych wersjach), który pozwala na pominięciefrom … import …
części (%pylab
działa też w nowszych wersjach IPythona).źródło
pylab.show()
najpierw zadzwonić, aby nawet otworzyć figurę.Spróbuj tego:
import matplotlib matplotlib.use('TkAgg')
PRZED importem pylab
źródło
Poniższy fragment kodu działa zarówno w środowisku Eclipse, jak i w powłoce Pythona:
import numpy as np import matplotlib.pyplot as plt # Come up with x and y x = np.arange(0, 5, 0.1) y = np.sin(x) # Just print x and y for fun print x print y # Plot the x and y and you are supposed to see a sine curve plt.plot(x, y) # Without the line below, the figure won't show plt.show()
źródło
Pojawiły się jakieś błędy? Może to wynikać z braku ustawienia zaplecza. Możesz ustawić to z interpretera Pythona lub z pliku konfiguracyjnego (
.matplotlib/matplotlibrc
) w swoim katalogu domowym.Aby ustawić zaplecze w kodzie, możesz to zrobić
import matplotlib matplotlib.use('Agg')
gdzie „Agg” to nazwa zaplecza. To, które backendy są obecne, zależy od instalacji i systemu operacyjnego.
http://matplotlib.sourceforge.net/faq/installing_faq.html#backends
http://matplotlib.org/users/customizing.html
źródło
.matplotlib/matplotlibrc
nabackend: Agg
. Wtedy nie musisz zause
każdym razem wyraźnie jednego :)Nowoczesny IPython używa
--matplotlib
argumentu „ ” z opcjonalnym parametrem zaplecza. Domyślnie jest to „auto”, co zwykle jest wystarczająco dobre na komputerach Mac i Windows. Nie testowałem tego na Ubuntu ani żadnej innej dystrybucji Linuksa, ale spodziewałbym się, że zadziała.źródło
Jeśli napotkasz problem
pylab.show()
polegający na zawieszaniu się okna IPythona (może to być specyficzne dla Mac OS X; nie jestem pewien), możesz użyć polecenia cmd-c w oknie IPythona, przełączyć się na okno wykresu, a ono się wyskoczy.Najwyraźniej przyszłe wywołania funkcji
pylab.show()
nie będą zamrażać okna IPythona, tylko pierwsze wywołanie. Niestety, odkryłem, że zachowanie okna wykresu / interakcji z show () zmienia się za każdym razem, gdy ponownie instaluję matplotlib, więc to rozwiązanie może nie zawsze działać.źródło
Jeśli uruchamiasz IPython z
--pylab
opcją, nie powinieneś mieć potrzeby wywoływaniashow()
lubdraw()
. Spróbuj tego:źródło
--pylab
już nie działa dla Jupytera , ale na szczęście możemy dodać poprawkę wipython_config.py
pliku, aby uzyskać zarówno funkcje,pylab
jak iautoreload
funkcje.c.InteractiveShellApp.extensions = ['autoreload', 'pylab'] c.InteractiveShellApp.exec_lines = ['%autoreload 2', '%pylab']
źródło
Jeśli jesteś użytkownikiem Anaconda i Spyder to najlepszym rozwiązaniem dla Ciebie jest:
Narzędzia -> Preferencje -> Konsola Ipython -> Sekcja graficzna
Następnie w sekcji Obsługa grafiki (Matplotlib) :
wybierz dwie dostępne opcje
oraz w zapleczu graficznym :
wybierz opcję Automatycznie
źródło
Inną możliwością korzystania z easy_install jest to, że musisz wymagać najnowszej wersji matplotlib. Próbować:
import pkg_resources pkg_resources.require("matplotlib")
przed zaimportowaniem matplotlib lub któregokolwiek z jego modułów.
źródło
matplotlib
jest zainstalowany, a nie wpływa na sposób obsługi okna.