Wie setze ich die Standardgröße der matplotlib-Figur in ipython notebook?

104

Ich benutze "$ ipython notebook --pylab inline", um das ipython notebook zu starten. Die Größe der Display-Matplotlib-Figur ist zu groß für mich und ich muss sie manuell anpassen. Wie stelle ich die Standardgröße für die in der Zelle angezeigte Figur ein?

großer Käfer
quelle

Antworten:

123

Ich glaube die folgende Arbeit in Version 0.11 und höher. So überprüfen Sie die Version:

$ ipython --version

Es kann sich lohnen, diese Informationen zu Ihrer Frage hinzuzufügen.

Lösung:

Sie müssen die Datei finden ipython_notebook_config.py. Abhängig von Ihrem Installationsprozess sollte dies irgendwo sein

.config/ipython/profile_default/ipython_notebook_config.py

Wo .configist in Ihrem Home-Verzeichnis.

Sobald Sie diese Datei gefunden haben, finden Sie die folgenden Zeilen

# Subset of matplotlib rcParams that should be different for the inline backend.
# c.InlineBackend.rc = {'font.size': 10, 'figure.figsize': (6.0, 4.0), 'figure.facecolor': 'white', 'savefig.dpi': 72, 'figure.subplot.bottom': 0.125, 'figure.edgecolor': 'white'}

Kommentieren Sie diese Zeile aus c.InlineBack...und definieren Sie Ihre Standardgröße im zweiten Wörterbucheintrag.

Beachten Sie, dass dies in einem Python-Skript (und damit interaktiv in IPython) unter Verwendung von möglich ist

pylab.rcParams['figure.figsize'] = (10.0, 8.0)
Greg
quelle
6
In ipython 2.0 befindet sich die Konfigurationsdatei in .ipython / profile_default / ipython_notebook_config.py
Fabian Pedregosa
1
Enthält in älteren Versionen von iPython ipython_notebook_config.pynicht die Zeile zum Konfigurieren des Inline-Backends. Da die Konfigurationsdatei beim Aktualisieren von iPython nicht automatisch aktualisiert wird (zumindest unter Windows), müssen Sie sie löschen und eine neue Konfigurationsdatei generieren, indem Sie sie ipython profile createwie von @anmol unten vorgeschlagen ausführen.
Puggie
1
Sie können vorhandene Profile mit finden ipython profile locate.
j08lue
22
Und wenn Sie matplotlib anstelle von pyplot verwenden, lautet der interaktive Befehl matplotlib.rcParams['figure.figsize'] = (10.0, 8.0)
Luke
Ich verwende jupyter 4.1.0-6 mit python-ipykernel 4.5.2-3 und ipython 5.3.0-1 (alle auf Arch) und habe keine Datei mit dem Titel ipython_notebook_config.pyunter meinem ~. Irgendeine Idee, wie sich die Dinge in den neuesten Versionen geändert haben könnten?
Pastafarianist
111

Arbeitete gefiel mir ein Zauber:

matplotlib.rcParams['figure.figsize'] = (20.0, 10.0)
Subspacian
quelle
17
Ich weiß nicht, wie idiomatisch das ist, aber ich habe dies für mein Jupyter-Notizbuch angepasst, damit es funktioniert:import matplotlib.pyplot as plt %matplotlib inline plt.rcParams['figure.figsize'] = (20.0, 10.0)
Brycemcd
8
Es gibt auchplt.rc('figure', figsize=(20.0, 10.0))
Joelostblom
2
Ganz seltsam, aber nach einiger Update muss ich Split %matplotlib inlineund plt.rc(...)in verschiedenen Zellen für die letztere an die Arbeit. Gleiches gilt fürmatplotlib.rcParams[...]
Uranix
3
%matplotlib inline
Stellen Sie
17

Wenn Sie diese Datei ipython_notebook_config.py nicht haben, können Sie eine erstellen, indem Sie der Readme-Datei folgen und sie eingeben

ipython profile create
anmol
quelle
16

Der Vollständigkeit halber funktioniert dies auch

from IPython.core.pylabtools import figsize
figsize(14, 7)

Es ist eine Hülle um die rcParamsLösung

gsmafra
quelle
Wichtig für ein großes Notizbuch mit mehreren Plots und funktioniert wie ein Zauber
CATALUNA84
8

In iPython 3.0.0 muss das Inline-Backend in konfiguriert werden ipython_kernel_config.py. Sie müssen die c.InlineBackend.rcZeile ... manuell hinzufügen (wie in Gregs Antwort erwähnt). Dies wirkt sich sowohl auf das Inline-Backend in der Qt-Konsole als auch auf das Notebook aus.

Puggie
quelle
0
plt.rcParams['figure.figsize'] = (15, 5)
Thomas G.
quelle