Comment définir la taille par défaut de la figure matplotlib dans un notebook ipython?


104

J'utilise "$ ipython notebook --pylab inline" pour démarrer le notebook ipython. La taille de la figure d'affichage matplotlib est trop grande pour moi et je dois l'ajuster manuellement. Comment définir la taille par défaut de la figure affichée dans la cellule?

Réponses:


123

Je crois que le travail suivant dans la version 0.11 et au-dessus. Pour vérifier la version:

$ ipython --version

Cela peut valoir la peine d'ajouter ces informations à votre question.

Solution:

Vous devez trouver le fichier ipython_notebook_config.py. En fonction de votre processus d'installation, cela devrait être quelque part comme

.config/ipython/profile_default/ipython_notebook_config.py

où se .configtrouve dans votre répertoire personnel.

Une fois que vous avez localisé ce fichier, trouvez les lignes suivantes

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

Décommentez cette ligne c.InlineBack...et définissez votre taille par défaut dans la deuxième entrée du dictionnaire.

Notez que cela pourrait être fait dans un script python (et donc de manière interactive dans IPython) en utilisant

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

6
Dans ipython 2.0, le fichier de configuration est au format .ipython / profile_default / ipython_notebook_config.py
Fabian Pedregosa

1
Dans les anciennes versions d'iPython, ipython_notebook_config.pyne contient pas la ligne pour configurer le backend en ligne. Étant donné que le fichier de configuration n'est pas automatiquement mis à jour lorsque vous mettez à jour iPython (au moins sous Windows), vous devez le supprimer et générer un nouveau fichier de configuration en exécutant ipython profile createcomme suggéré par @anmol ci-dessous.
Puggie

1
Vous pouvez localiser les profils existants avec ipython profile locate.
j08lue

22
Et si vous utilisez matplotlib au lieu de pyplot, la commande interactive est matplotlib.rcParams['figure.figsize'] = (10.0, 8.0)
Luc

J'utilise jupyter 4.1.0-6 avec python-ipykernel 4.5.2-3 et ipython 5.3.0-1 (tous sur Arch) et je n'ai pas de fichier intitulé ipython_notebook_config.pysous mon ~. Une idée de la façon dont les choses ont pu changer dans les versions les plus récentes?
Pastafarianist

111

A travaillé comme un charme pour moi:

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

17
Je ne sais pas à quel point c'est idiomatique, mais j'ai ajusté cela pour mon notebook jupyter pour qu'il fonctionne:import matplotlib.pyplot as plt %matplotlib inline plt.rcParams['figure.figsize'] = (20.0, 10.0)
brycemcd

8
Il y a aussiplt.rc('figure', figsize=(20.0, 10.0))
joelostblom

2
Assez bizarre, mais après quelques mises à jour, je dois diviser %matplotlib inlineet plt.rc(...)traverser différentes cellules pour que ces dernières fonctionnent. Idem pourmatplotlib.rcParams[...]
uranix

3
Assurez-vous également que cette ligne est après%matplotlib inline
Rishabh Agrahari

17

Si vous ne possédez pas ce fichier ipython_notebook_config.py, vous pouvez en créer un en suivant le readme et en tapant

ipython profile create

16

Juste pour être complet, cela fonctionne également

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

C'est un emballage autour de la rcParamssolution


Important pour un gros cahier avec plusieurs parcelles, et fonctionne comme un charme
CATALUNA84

8

Dans iPython 3.0.0, le backend en ligne doit être configuré dans ipython_kernel_config.py. Vous devez ajouter manuellement la c.InlineBackend.rcligne ... (comme mentionné dans la réponse de Greg ). Cela affectera à la fois le backend en ligne dans la console Qt et le notebook.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.