Offizielle Dokumente: Matplotlib, Pyplot und Pylab: Wie hängen sie zusammen?
Beide Importe machen genau das Gleiche und führen genau den gleichen Code aus. Es handelt sich lediglich um verschiedene Arten des Imports der Module.
Beachten Sie auch, dass matplotlibzwei Schnittstellenebenen vorhanden sind, eine von einer verwalteten Zustandsmaschinenebene pyplotund die OO-Schnittstelle pyplot, auf der aufgebaut ist. Siehe Wie kann ich einer Figureninstanz eine Pyplot-Funktion hinzufügen?
pylabist eine saubere Methode, um eine ganze Reihe hilfreicher Funktionen (die pyplotmeisten der Zustandsmaschinenfunktionen numpy) in einem einzigen Namensraum zu importieren . Der Hauptgrund dafür besteht (nach meinem Verständnis) ipythondarin, eine sehr schöne interaktive Shell zu erstellen, die MATLAB mehr oder weniger repliziert (um den Übergang zu erleichtern und um herumzuspielen). Siehe pylab.pyundmatplotlib/pylab.py
In gewisser Hinsicht ist dies eine reine Geschmackssache und hängt ein wenig davon ab, was Sie tun.
Wenn Sie nicht in eine GUI einbetten (entweder mit einem nicht interaktiven Backend für Bulk-Skripte oder mit einem der bereitgestellten interaktiven Backends), ist dies die typische Vorgehensweise
import matplotlib.pyplot as plt
import numpy as np
plt.plot(....)
was den Namensraum nicht verschmutzt. Ich bevorzuge dies, damit ich verfolgen kann, woher die Sachen kamen.
Wenn du benutzt
ipython --pylab
Dies entspricht dem Laufen
from pylab import *
Es wird jetzt empfohlen, diese für neue Versionen von ipythonIhnen zu verwenden
ipython --matplotlib
Dadurch werden alle richtigen Hintergrunddetails eingerichtet, damit die interaktiven Backends einwandfrei funktionieren, es wird jedoch kein Massenimport durchgeführt. Sie müssen die gewünschten Module explizit importieren.
import numpy as np
import matplotlib.pyplot as plt
ist ein guter Anfang.
Wenn Sie matplotlibin eine GUI einbetten, möchten Sie kein Pyplot importieren, da dadurch zusätzliche GUI-Hauptschleifen gestartet werden. Was genau Sie importieren sollten, hängt davon ab, was Sie genau tun.