2012-10-20 19 views
119

Numpy, scipy, matplotlib und pylab sind gebräuchliche Begriffe unter denen, die Python für wissenschaftliche Berechnungen verwenden.Verwechslung zwischen numpy, scipy, matplotlib und pylab

Ich lerne gerade etwas über pylab, und ich habe mich verwirrt. Immer, wenn ich numpy importieren möchten, kann ich immer tun:

import numpy as np 

ich nur überlegen, dass ich einmal

from pylab import * 

die numpy tun wird auch importiert werden (mit np alias). Im Grunde macht der zweite mehr Dinge als der erste.

Es gibt nur wenige Dinge, die ich fragen will:

  1. Ist es richtig, dass pylab ist nur ein Wrapper für numpy, scipy und matplotlib?
  2. Da np der numpy Alias ​​in pylab ist, was ist der Alias ​​von scipy und matplotlib in pylab? (Soweit ich weiß, ist plt alias von matplotlib.pyplot, aber ich weiß nicht, den Alias ​​für das matplotlib selbst)
+4

Auf einem allgemeinen Stil Note, ich würde die Verwendung von pylab vermeiden (und * Importe) außerhalb der interaktiven Shell. Pylab ist sowieso ein kleiner Anhang zu Matplotlib. – seberg

+0

@unutbu: Danke für den Link, das macht die Sache klar. Ich denke, es bedeutet auch, dass scipy ein ganz anderes Modul ist und somit nichts mit pylab zu tun hat. – goFrendiAsgard

+4

@goFrendiAsgard: Sie können genau prüfen, was pylab importiert, indem Sie in '/ usr/lib/pymodules/python2.7/matplotlib/pylab.py' suchen (Der genaue Pfad ist für Windows oder OSX etwas anders; fragen Sie, ob Sie Hilfe benötigen, um ihn zu finden.) – unutbu

Antwort

119
  1. Nein, pylab Teil matplotlib ist (in matplotlib.pylab) und versucht um Ihnen eine MatLab-ähnliche Umgebung zu geben. matplotlib hat eine Reihe von Abhängigkeiten, darunter numpy, die es unter dem gemeinsamen Alias ​​np importiert. scipy ist keine Abhängigkeit von matplotlib.

  2. Wenn Sie ipython --pylab ein automatischer Import ausgeführt werden alle Symbole von matplotlib.pylab in globalen Bereich setzen. Wie du geschrieben hast, wird numpy unter dem Alias ​​np importiert. Symbole von matplotlib sind unter dem Alias ​​mpl verfügbar.

+9

@ Benjamin Bannier Was ist das dann - http://wiki.scipy.org/PyLab? Das verwirrt mich. – shahensha

+0

@shahensha, es klingt wie es gibt * zwei * PyLabs; nach dem Link, den Sie gesendet haben: "... Unterschied zwischen der Vision für ein ** neues PyLab ** auf dieser Seite und dem ** bestehenden pylab-Paket, das Teil von matplotlib ist" –

1

Scipy und numpy sind wissenschaftliche Projekte, deren Ziel es ist effizient und schnell numerische Computing Python zu bringen.

Matplotlib ist der Name der Python-Plotbibliothek.

Pyplot ist eine interaktive Matplotlib, vor allem für den Einsatz in Notebooks wie Jupiter. Sie verwenden es normalerweise so: import matplotlib.pyplot as plt.

Pylab ist das gleiche wie pyplot, aber mit zusätzlichen Funktionen (seine Verwendung wird derzeit abgeraten).

  • Grob pylab = pyplot + numpy

Weitere Informationen finden Sie hier: Matplotlib, Pylab, Pyplot, etc: What's the difference between these and when to use each?

+1

[Ein anderes Beispiel, das direkt auf Matplotlibs gepostet wurde site] (https://matplotlib.org/faq/usage_faq.html#matplotlib-pyplot-and-pylab-how-are-they-related) "Matplotlib, pyplot und pylab: wie hängen sie zusammen? ' Matplotlib' ist das ** ganze Paket **; 'matplotlib.pyplot' ist ein Modul ** in Matplotlib ** und' pylab' ist ein Modul, das neben Matplotlib ** installiert wird. " –

Verwandte Themen