it-swarm.com.de

Zweck von "% matplotlib inline"

Könnte mir jemand erklären, was genau die Verwendung von %matplotlib inline ist?

300
Rishabh

%matplotlib ist eine magische Funktion in IPython. Ich zitiere die relevante Dokumentation hier, damit Sie sie bequem lesen können:

IPython verfügt über eine Reihe vordefinierter Magic-Funktionen, die Sie mit einer Befehlszeilensyntax aufrufen können. Es gibt zwei Arten von Magie, zeilenorientiert und zellenorientiert. Zeilenmagie wird das Zeichen% vorangestellt und funktioniert ähnlich wie OS-Befehlszeilenaufrufe: Sie erhalten als Argument den Rest der Zeile, in der Argumente ohne Klammern oder Anführungszeichen übergeben werden. Linienmagie kann Ergebnisse zurückgeben und auf der rechten Seite einer Aufgabe verwendet werden. Zellmagie wird ein doppeltes %% vorangestellt. Dabei handelt es sich um Funktionen, die als Argument nicht nur den Rest der Zeile, sondern auch die Zeilen darunter in einem separaten Argument erhalten.

%matplotlib inlinesetzt das Backend von matplotlib auf das 'Inline'-Backend :

Mit diesem Backend wird die Ausgabe von Plotbefehlen inline in Frontends wie dem Jupyter-Notizbuch direkt unter der Code-Zelle angezeigt, die es erstellt hat. Die resultierenden Plots werden dann auch im Notebook-Dokument gespeichert.

Wenn Sie das 'Inline'-Backend verwenden, werden Ihre Matplotlib-Diagramme neben dem Code in Ihr Notizbuch aufgenommen. Es kann sich auch lohnen, Wie man IPython Notebook matplotlib plotten lässt zu lesen, um zu erfahren, wie man es in Ihrem Code verwendet.

Wenn Sie auch Interaktivität wünschen, können Sie das nbagg-Backend mit %matplotlib notebook (in IPython 3.x) verwenden, wie beschrieben hier .

192
Aurora0001

Unter der Voraussetzung, dass Sie IPython ausführen, werden Ihre Plotausgaben mit dem %matplotlib inline angezeigt und im Notebook gespeichert.

Nach Dokumentation

Um dies einzurichten, müssen Sie vor dem Zeichnen oder Importieren von matplotlib den %matplotlib magic command ausführen. Dies führt die notwendigen Einstellungen hinter den Kulissen durch, damit IPython korrekt mit matplotlib zusammenarbeitet. Tatsächlich werden jedoch keine Python -Importbefehle ausgeführt, dh dem Namespace werden keine Namen hinzugefügt.

Ein besonders interessantes Backend von IPython ist das Backend inline. Dies ist nur für das Jupyter Notebook und die Jupyter QtConsole verfügbar. Es kann wie folgt aufgerufen werden:

%matplotlib inline

Mit diesem Backend wird die Ausgabe von Plotbefehlen inline in Frontends wie dem Jupyter-Notizbuch direkt unter der Code-Zelle angezeigt, die es erstellt hat. Die resultierenden Plots werden dann auch im Notebook-Dokument gespeichert.

60
matusko

Wenn Sie Ihrem Jupyter-Notizbuch Diagramme hinzufügen möchten, ist %matplotlib inline eine Standardlösung. Und es gibt andere magische Befehle, die matplotlib interaktiv in Jupyter verwenden.

%matplotlib: Jeder plt Plotbefehl öffnet jetzt ein Zahlenfenster und es können weitere Befehle ausgeführt werden, um den Plot zu aktualisieren. Einige Änderungen werden nicht automatisch gezeichnet. Um ein Update zu erzwingen, verwenden Sie plt.draw().

%matplotlib notebook: führt zu interaktiven Plots, die in das Notizbuch eingebettet sind. Sie können zoomen und die Größe der Figur ändern

%matplotlib inline: Zeichnet nur statische Bilder im Notizbuch

14
Yossarian42