¿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?

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)

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)

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

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.


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.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.