Come impostare la dimensione predefinita della figura matplotlib nel notebook ipython?


104

Uso "$ ipython notebook --pylab inline" per avviare ipython notebook. La dimensione della figura del matplotlib del display è troppo grande per me e devo regolarla manualmente. Come impostare la dimensione predefinita per la figura visualizzata nella cella?

Risposte:


123

Credo che il seguente lavoro nella versione 0.11 e successive. Per controllare la versione:

$ ipython --version

Potrebbe valere la pena aggiungere queste informazioni alla tua domanda.

Soluzione:

Devi trovare il file ipython_notebook_config.py. A seconda del processo di installazione, questo dovrebbe essere in un posto come

.config/ipython/profile_default/ipython_notebook_config.py

dov'è .confignella tua directory home.

Una volta individuato questo file, trova le seguenti righe

# 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'}

Rimuovere il commento da questa riga c.InlineBack...e definire la dimensione della figura predefinita nella seconda voce del dizionario.

Nota che questo potrebbe essere fatto in uno script python (e quindi in modo interattivo in IPython) usando

pylab.rcParams['figure.figsize'] = (10.0, 8.0)

6
In ipython 2.0 il file di configurazione è in .ipython / profile_default / ipython_notebook_config.py
Fabian Pedregosa

1
Nelle versioni precedenti di iPython, ipython_notebook_config.pynon contiene la riga per configurare il backend inline. Poiché il file di configurazione non viene aggiornato automaticamente quando aggiorni iPython (almeno su Windows), devi eliminarlo e generare un nuovo file di configurazione eseguendolo ipython profile createcome suggerito da @anmol di seguito.
Puggie

1
Puoi individuare i profili esistenti con ipython profile locate.
j08lue

22
E se stai usando matplotlib invece di pyplot, il comando interattivo è matplotlib.rcParams['figure.figsize'] = (10.0, 8.0)
Luca

Sto usando jupyter 4.1.0-6 con python-ipykernel 4.5.2-3 e ipython 5.3.0-1 (tutti su Arch) e non ho alcun file intitolato ipython_notebook_config.pysotto my ~. Qualche idea di come le cose potrebbero essere cambiate nelle versioni più recenti?
Pastafarianista

111

Ha funzionato un fascino per me:

matplotlib.rcParams['figure.figsize'] = (20.0, 10.0)

17
Non so quanto sia idiomatico, ma l'ho adattato per il mio taccuino jupyter per farlo funzionare:import matplotlib.pyplot as plt %matplotlib inline plt.rcParams['figure.figsize'] = (20.0, 10.0)
brycemcd

8
C'è ancheplt.rc('figure', figsize=(20.0, 10.0))
joelostblom

2
Abbastanza strano, ma dopo qualche aggiornamento ho bisogno di dividere %matplotlib inlinee plt.rc(...)tra celle diverse affinché quest'ultimo funzioni. Lo stesso vale permatplotlib.rcParams[...]
uranix

3
Assicurati anche che questa linea sia dopo%matplotlib inline
Rishabh Agrahari,

17

Se non hai questo file ipython_notebook_config.py, puoi crearne uno seguendo il readme e digitando

ipython profile create

16

Solo per completezza, funziona anche questo

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

È un involucro intorno alla rcParamssoluzione


Importante per un grande taccuino con più trame e funziona come un fascino
CATALUNA84

8

In iPython 3.0.0, il backend inline deve essere configurato in ipython_kernel_config.py. È necessario aggiungere manualmente la c.InlineBackend.rcriga ... (come menzionato nella risposta di Greg ). Ciò influenzerà sia il backend in linea nella console Qt che nel notebook.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.