Ich sehe, dass ich in Python entweder plotten kann :
import matplotlib
matplotlib.pyplot.plot(...)
Oder:
import pylab
pylab.plot(...)
Beide verwenden denselben Matplotlib-Plotcode .
Welche davon empfehlen die Matplotlib-Entwickler / -Dokumente derzeit als bessere Methode zum Plotten? Warum?
python
matplotlib
Ashwin Nanjappa
quelle
quelle
matplotlib.pyplot
Antworten:
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
matplotlib
zwei Schnittstellenebenen vorhanden sind, eine von einer verwalteten Zustandsmaschinenebenepyplot
und die OO-Schnittstellepyplot
, auf der aufgebaut ist. Siehe Wie kann ich einer Figureninstanz eine Pyplot-Funktion hinzufügen?pylab
ist eine saubere Methode, um eine ganze Reihe hilfreicher Funktionen (diepyplot
meisten der Zustandsmaschinenfunktionennumpy
) in einem einzigen Namensraum zu importieren . Der Hauptgrund dafür besteht (nach meinem Verständnis)ipython
darin, eine sehr schöne interaktive Shell zu erstellen, die MATLAB mehr oder weniger repliziert (um den Übergang zu erleichtern und um herumzuspielen). Siehepylab.py
undmatplotlib/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
was den Namensraum nicht verschmutzt. Ich bevorzuge dies, damit ich verfolgen kann, woher die Sachen kamen.
Wenn du benutzt
Dies entspricht dem Laufen
Es wird jetzt empfohlen, diese für neue Versionen von
ipython
Ihnen zu verwendenDadurch 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.
ist ein guter Anfang.
Wenn Sie
matplotlib
in 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.quelle
In der Dokumentation unter https://matplotlib.org/faq/usage_faq.html#matplotlib-pyplot-and-pylab-how-are-they-related , in der auch der Unterschied zwischen Pyglot und Pylab beschrieben wird, heißt es: "Obwohl viele Beispiele verwendet werden Pylab, es wird nicht mehr empfohlen. " . Ich sehe also keinen Grund, Pylab zu verwenden oder mir darüber Sorgen zu machen.
quelle