Quelqu'un pourrait-il m'expliquer à quoi sert exactement %matplotlib inline
?
python
matplotlib
jupyter-notebook
ipython
Rishabh
la source
la source
inline
) en entrant:%matplotlib --list
.Réponses:
%matplotlib
est une fonction magique dans IPython. Je citerai la documentation pertinente ici pour que vous puissiez la lire pour plus de commodité:%matplotlib inline
définit le backend de matplotlib sur le backend 'inline' :Lorsque vous utilisez le backend «en ligne», vos graphiques matplotlib seront inclus dans votre bloc-notes, à côté du code. Il peut être utile de lire également Comment faire en sorte que le plot matplotlib du bloc-notes IPython soit en ligne pour savoir comment l'utiliser dans votre code.
Si vous souhaitez également l'interactivité, vous pouvez utiliser le backend nbagg avec
%matplotlib notebook
(dans IPython 3.x), comme décrit ici .la source
À condition que vous exécutiez IPython, le
%matplotlib inline
fera apparaître vos sorties de tracé et sera stocké dans le bloc-notes.Selon la documentation
la source
Si vous souhaitez ajouter des tracés à votre bloc-notes Jupyter,
%matplotlib inline
c'est une solution standard. Et il existe d'autres commandes magiques à utiliser de manièrematplotlib
interactive dans Jupyter.%matplotlib
: touteplt
commande de tracé entraînera maintenant l'ouverture d'une fenêtre de figure, et d'autres commandes peuvent être exécutées pour mettre à jour le tracé. Certaines modifications ne seront pas dessinées automatiquement, pour forcer une mise à jour, utilisezplt.draw()
%matplotlib notebook
: conduira à des tracés interactifs intégrés dans le cahier, vous pouvez zoomer et redimensionner la figure%matplotlib inline
: dessinez uniquement des images statiques dans le bloc-notesla source
documents ipython
la source
inline
, les tracés sont générés dans les fenêtres externes et vous devez utiliser display () pour les afficher dans le bloc-notes.Cela signifie simplement que tout graphique que nous créons dans le cadre de notre code apparaîtra dans le même cahier et non dans une fenêtre distincte, ce qui se produirait si nous n'avions pas utilisé cette déclaration magique.
la source
Si vous ne savez pas ce qu'est le backend, vous pouvez lire ceci: https://matplotlib.org/tutorials/introductory/usage.html#backends
Ainsi, lorsque vous tapez% matplotlib inline, cela active le backend en ligne. Comme discuté dans les articles précédents:
la source
Pour l'expliquer clairement:
Si vous ne l'aimez pas comme ça:
ajouter
%matplotlib inline
et le voilà dans votre cahier jupyter.
la source
TL; DR
%matplotlib inline
- Affiche la sortie en ligneLe noyau IPython a la possibilité d'afficher des tracés en exécutant du code. Le noyau IPython est conçu pour fonctionner de manière transparente avec la bibliothèque de traçage matplotlib pour fournir cette fonctionnalité.
Afficher la sortie dans une fenêtre séparée
Afficher la sortie en ligne
(disponible uniquement pour le bloc-notes Jupyter et la console Jupyter QtConsole)
Affichage avec backends interactifs
(valeurs valides
'GTK3Agg', 'GTK3Cairo', 'MacOSX', 'nbAgg', 'Qt4Agg', 'Qt4Cairo', 'Qt5Agg', 'Qt5Cairo', 'TkAgg', 'TkCairo', 'WebAgg', 'WX', 'WXAgg', 'WXCairo', 'agg', 'cairo', 'pdf', 'pgf', 'ps', 'svg', 'template'
)Exemple - GTK3Agg - Un rendu Agg sur un canevas GTK 3.x (nécessite PyGObject et pycairo ou cairocffi).
Plus de détails sur les backends interactifs matplotlib: ici
Référez-vous: Sortie riche IPython - traçage interactif
la source
À condition que vous exécutiez Jupyter Notebook, la commande% matplotlib inline fera apparaître vos sorties de tracé dans le notebook, elle peut également être stockée.
la source
Il n'est pas obligatoire de l'écrire. Cela a bien fonctionné pour moi sans fonction (
%matplotlib
) magique. J'utilise le compilateur Sypder, celui qui est fourni avec Anaconda.la source