Oficjalne dokumenty: Matplotlib, pyplot i pylab: jak są ze sobą powiązane?
Oba te importy sprowadzają się do robienia dokładnie tego samego i będą uruchamiać dokładnie ten sam kod, to tylko różne sposoby importowania modułów.
Zauważ również, że matplotlib
ma dwie warstwy interfejsu, warstwę automatu stanu zarządzaną przez pyplot
i interfejs OO pyplot
jest zbudowany na wierzchu, zobacz Jak mogę dołączyć funkcję pyplot do instancji figury?
pylab
to czysty sposób na zbiorcze importowanie całej masy przydatnych funkcji ( pyplot
większość funkcji automatu stanów numpy
) do jednej przestrzeni nazw. Głównym powodem, dla którego to istnieje (w moim rozumieniu) jest praca ipython
nad stworzeniem bardzo ładnej interaktywnej powłoki, która mniej więcej replikuje MATLAB (aby ułatwić przejście i ponieważ jest dobry do zabawy). Zobacz pylab.py
imatplotlib/pylab.py
Na pewnym poziomie jest to wyłącznie kwestia gustu i zależy trochę od tego, co robisz.
Jeśli nie osadzasz w GUI (używając nieinteraktywnego zaplecza dla skryptów zbiorczych lub jednego z dostarczonych interaktywnych backendów), typową rzeczą do zrobienia jest
import matplotlib.pyplot as plt
import numpy as np
plt.plot(....)
co nie zanieczyszcza przestrzeni nazw. Wolę to, żeby móc śledzić, skąd pochodzą rzeczy.
Jeśli użyjesz
ipython --pylab
jest to równoważne z bieganiem
from pylab import *
Obecnie zaleca się, aby w nowych wersjach ipython
używać
ipython --matplotlib
który skonfiguruje wszystkie odpowiednie szczegóły tła, aby interaktywne backendy działały dobrze, ale nie będzie niczego importować zbiorczo. Będziesz musiał jawnie zaimportować żądane moduły.
import numpy as np
import matplotlib.pyplot as plt
to dobry początek.
Jeśli matplotlib
osadzasz w gui, nie chcesz importować pyplota, ponieważ spowoduje to uruchomienie dodatkowych głównych pętli gui, a dokładnie to, co powinieneś importować, zależy od tego, co robisz.