matplotlib python inline on/off
si je démarre un bloc-notes ipython avec matplotlib inlined, y a-t-il un moyen de tracer par la suite un chiffre de sorte qu'il apparaît dans le "standard", non-inlined, way, sans avoir à recharger le bloc-notes sans la commande inline? J'aimerais pouvoir avoir quelques chiffres dans le carnet, mais d'autres dans le mode interactif traditionnel, où je peux zoomer et balancer.
4 réponses
vous pouvez changer le backend de matplotlib par %matplotlib <backend>
. Pour revenir au backend par défaut de votre système, utilisez %matplotlib auto
ou tout simplement %matplotlib
.
il y a de nombreux backends disponibles tels que gtk
, qt
, notebook
, etc. Personnellement, je recommande fortement le notebook
(A. K. A. nbagg
) backend. Il est similaire à inline
mais interactif, permettant le zoom/panoramique à partir de L'intérieur de Jupyter.
pour plus d'informations essayer: ?%matplotlib
à l'intérieur D'un IPython / Jupyter ou documentation en ligne D'IPython
plt.ioff()
et plt.ion()
fonctionne comme un charme dans mon Jupyter portable avec la notebook
comme backend (en supposant que l'habituel import matplotlib.pyplot as plt
).
Cela dépend de la configuration exacte de votre matplotlib,
mais vous pouvez basculer entre en ligne et l'un des "osx', 'qt4', 'qt5', 'gtk3', 'wx', 'qt', 'gtk', 'tk' (certains sont des alias des autres). suffit d'utiliser %matplotlib <the one you want>
pour passer. Selon les conditions, vous pourriez n'avoir accès qu'à l'un d'eux.
une autre possibilité est d'utiliser matplotlib.pyplot.close(fig)
. Cela fonctionne pour moi même si %matplotlib auto
soulève une terrible erreur wx
(liée aux versions des fichiers de développement GTK que j'ai installés dans LD_LIBRARY_PATH
).
bien que cela puisse causer des problèmes si vous faites quelque chose comme faire une vidéo (ou peut-être pas; je n'ai pas essayé), cela a fonctionné pour moi lors de l'assemblage d'images dans une table en utilisant IPython.display.HTML
par cette réponse .