¿Cómo configurar el tamaño predeterminado de la figura de matplotlib en el cuaderno ipython?

104

Utilizo "$ ipython notebook --pylab inline" para iniciar el cuaderno ipython. El tamaño de la figura de la pantalla matplotlib es demasiado grande para mí y tengo que ajustarlo manualmente. ¿Cómo establecer el tamaño predeterminado para la figura que se muestra en la celda?

bigbug
fuente

Respuestas:

123

Creo que el siguiente trabajo en la versión 0.11 y superior. Para comprobar la versión:

$ ipython --version

Puede valer la pena agregar esta información a su pregunta.

Solución:

Necesitas encontrar el archivo ipython_notebook_config.py. Dependiendo de su proceso de instalación, esto debería estar en algún lugar como

.config/ipython/profile_default/ipython_notebook_config.py

donde .configestá en su directorio personal.

Una vez que haya localizado este archivo busque las siguientes líneas

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

Elimine el comentario de esta línea c.InlineBack...y defina su tamaño de figura predeterminado en la segunda entrada del diccionario.

Tenga en cuenta que esto podría hacerse en un script de Python (y por lo tanto de forma interactiva en IPython) usando

pylab.rcParams['figure.figsize'] = (10.0, 8.0)
Greg
fuente
6
En ipython 2.0, el archivo de configuración está en .ipython / profile_default / ipython_notebook_config.py
Fabian Pedregosa
1
En versiones anteriores de iPython, ipython_notebook_config.pyno contiene la línea para configurar el backend en línea. Dado que el archivo de configuración no se actualiza automáticamente cuando actualiza iPython (al menos en Windows), debe eliminarlo y generar un nuevo archivo de configuración ejecutando ipython profile createcomo sugiere @anmol a continuación.
Puggie
1
Puede localizar perfiles existentes con ipython profile locate.
j08lue
22
Y si está usando matplotlib en lugar de pyplot, el comando interactivo es matplotlib.rcParams['figure.figsize'] = (10.0, 8.0)
Lucas
Estoy usando jupyter 4.1.0-6 con python-ipykernel 4.5.2-3 e ipython 5.3.0-1 (todos ellos en Arch) y no tengo ningún archivo titulado ipython_notebook_config.pybajo mi ~. ¿Alguna idea de cómo pueden haber cambiado las cosas en las versiones más recientes?
Pastafarianist
111

Trabajó me gustó un amuleto:

matplotlib.rcParams['figure.figsize'] = (20.0, 10.0)
Subespaciano
fuente
17
No sé qué tan idiomático es esto, pero lo ajusté para mi cuaderno jupyter para que funcione:import matplotlib.pyplot as plt %matplotlib inline plt.rcParams['figure.figsize'] = (20.0, 10.0)
brycemcd
8
También hayplt.rc('figure', figsize=(20.0, 10.0))
joelostblom
2
Bastante raro, pero después de algún actualización necesito dividida %matplotlib inliney plt.rc(...)en diferentes células para que este último trabajo. Lo mismo ocurre conmatplotlib.rcParams[...]
uranix
3
También asegúrese de que esta línea es después%matplotlib inline
Rishabh Agrahari
17

Si no tiene este archivo ipython_notebook_config.py, puede crear uno siguiendo el archivo Léame y escribiendo

ipython profile create
anmol
fuente
16

Solo para completar, esto también funciona

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

Es un envoltorio alrededor de la rcParamssolución.

gsmafra
fuente
Importante para un gran bloc de notas con varias parcelas, y funciona como un encanto
CATALUNA84
8

En iPython 3.0.0, el backend en línea debe configurarse en ipython_kernel_config.py. Debe agregar manualmente la c.InlineBackend.rclínea ... (como se menciona en la respuesta de Greg ). Esto afectará tanto al backend en línea en la consola Qt como al portátil.

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