2012-10-20 11 views
119

Numpy, scipy, matplotlib i pylab są terminami powszechnymi wśród tych, którzy używają Pythona do obliczeń naukowych.Zamieszanie między numpy, scipy, matplotlib i pylab

Po prostu uczę się trochę o pylab, a ja się pomyliłem. Ilekroć chcesz importować numpy, zawsze mogę zrobić:

import numpy as np 

ja po prostu uważają, że gdy robię

from pylab import * 

numpy będą importowane, jak również (z np alias). Więc w zasadzie drugi robi więcej rzeczy w porównaniu z pierwszym.

Istnieje kilka rzeczy, które chciałbym zadać pytanie:

  1. Czy to prawda, że ​​pylab jest tylko nakładką na numpy, scipy i matplotlib?
  2. Jako np. Numpy alias w pylab, co to jest alias scipy i matplotlib w raplab? (O ile wiem, PLT jest alias matplotlib.pyplot, ale nie wiem, alias dla samego matplotlib)
+4

Na ogół stylu notatki, chciałbym uniknąć użycia pylab (i * importu) poza interaktywną powłoką. Pylab jest i tak dziwnym dodatkiem do matplotlib. – seberg

+0

@unutbu: dziękuję za link, który wyjaśnia. Myślę, że oznacza to również, że scipy to zupełnie inne moduły, a więc niezwiązane z pylabem – goFrendiAsgard

+4

@goFrendiAsgard: Możesz dokładnie sprawdzić, jakie import pylab wyszukuje w '/ usr/lib/pymodules/python2.7/matplotlib/pylab.py' (Dokładna ścieżka jest trochę inna dla systemu Windows lub OSX, zapytaj, czy potrzebujesz pomocy w jej znalezieniu.) – unutbu

Odpowiedz

119
  1. Nie, pylab jest częścią matplotlib (w matplotlib.pylab) i próbuje aby stworzyć środowisko podobne do MatLab. matplotlib ma wiele zależności, między innymi numpy, które importuje pod wspólnym aliasem np. scipy nie jest zależnością od matplotlib.

  2. Po uruchomieniu ipython --pylab automatyczny import spowoduje umieszczenie wszystkich symboli z matplotlib.pylab w zasięgu globalnym. Tak jak napisałeś, numpy zostaje zaimportowany pod aliasem np. Symbole od matplotlib są dostępne pod aliasem mpl.

+9

@Benjamin Bannier Co to jest - http://wiki.scipy.org/PyLab? To mnie myli. – shahensha

+0

@shahensha, wygląda na to, że są * dwa * PyLabs; za link, który wysłałeś: "... różnica między wizją ** nowego PyLab ** wyrażonego na tej stronie, a ** istniejącym pakietem pirlab, który jest częścią matplotlib **" –

1

scipy i numpy są projekty naukowe, których celem jest doprowadzenie do skutecznego i szybkiego computing numerycznej pytona.

Matplotlib to nazwa biblioteki do pisania pythonów.

Pyplot jest interaktywny do matplotlib, głównie do użytku w notebookach takich jak jupyter. Generalnie używasz go w ten sposób: import matplotlib.pyplot as plt.

Pylab to to samo, co pyplot, ale z dodatkowymi funkcjami (jego stosowanie jest obecnie odradzane).

  • grubsza pylab = pyplot + numpy

Zobacz więcej informacji tutaj: Matplotlib, Pylab, Pyplot, etc: What's the difference between these and when to use each?

+1

[Inny przykład opublikowany bezpośrednio na matplotlib strona] (https://matplotlib.org/faq/usage_faq.html#matplotlib-pyplot-and-pylab-how-are-they-related) "Matplotlib, pyplot i pylab: jak są one powiązane? ' Matplotlib' to ** cały pakiet **; 'matplotlib.pyplot' to moduł ** w matplotlib **, a' pylab' to moduł, który jest instalowany ** wraz z matplotlib. ** " –

Powiązane problemy