web-dev-qa-db-fra.com

% matplotlib inline ne fonctionne pas sur les consoles iPython et Jupyter

J'essaie la console Jupyter pour la première fois, mais je ne parviens pas à utiliser la magie %matplotlib inline. Vous trouverez ci-dessous une capture d'écran d'un exemple de session:

 The window is a result of Line 6, and Line 7 didn't do anything at all. L'intrigue s'affiche dans une fenêtre séparée après avoir exécuté Line 6, et Line 7 ne fait rien.

Lorsque je lance %matplotlib --list, inline est l’une des options suivantes: 

Available matplotlib backends: ['osx', 'qt4', 'qt5', 'gtk3', 'notebook', 'wx', 'qt',
'nbagg', 'agg', 'gtk', 'tk', 'ipympl', 'inline']

Lorsque j'essaie d'utiliser un autre serveur, par exemple, qt5, un message d'erreur s'affiche, car aucun Qt n'est installé.

ImportError: Matplotlib qt-based backends require an external PyQt4, PyQt5, or PySide
package to be installed, but it was not found.

%matplotlib?? en cours d'exécution se lit comme suit:

 If you are using the inline matplotlib backend in the IPython Notebook
        you can set which figure formats are enabled using the following::

            In [1]: from IPython.display import set_matplotlib_formats

            In [2]: set_matplotlib_formats('pdf', 'svg')

        The default for inline figures sets `bbox_inches` to 'tight'. This can
        cause discrepancies between the displayed image and the identical
        image created using `savefig`. This behavior can be disabled using the
        `%config` magic::

            In [3]: %config InlineBackend.print_figure_kwargs = {'bbox_inches':None}

Mais je ne sais pas si c'est quelque chose que je peux modifier pour résoudre mon problème.

Quand j'essaye la console magique IPython, elle dit que inline est un Unknown Backend.

UnknownBackend: No event loop integration for u'inline'. Supported event loops are: qt, 
qt4, qt5, gtk, gtk2, gtk3, tk, wx, pyglet, glut, osx

J'ai aussi trouvé ce problème sur github après quelques recherches sur Google, mais je ne sais même pas si cela est pertinent pour ma situation (la plupart de leurs conversations n'avaient aucun sens pour moi lol).

Enfin, je ne suis pas sûr que ce problème soit lié du tout, mais le voici, juste au cas où: lorsque j'essaie d'ouvrir Vim dans Jupyter via la commande !vim, le problème a été résolu, m'empêchant même de quitter Jupyter lui-même sans fermer le terminal tout à fait. Vim fonctionne parfaitement bien lorsqu'il est appelé dans la console IPython.

J'utilise matplotlib 2.0.0.

Si quelqu'un pouvait m'aider à comprendre cela, ce serait génial! Je vous remercie!

6
spicypumpkin

Vous utilisez une console entièrement basée sur le texte et incapable d'afficher des images. Par conséquent, bien que inline soit disponible, il ne produit pas de sortie en ligne. 

Je ne sais pas pourquoi cela ne génère pas d'erreur, ce qui est le cas dans mon cas:

 enter image description here

Vous pouvez utiliser %matplotlib inline dans une console graphique, comme Jupyter QTConsole

 enter image description here

ou dans un cahier jupyter dans le navigateur

 enter image description here

Si vous utilisez une ancienne version d’ipython, essayez plutôt %pylab inline. Voir notes dans ce tutoriel

0
KolaB

%matplotlib sans la inline fonctionne pour moi (j'utilise osx et IPython 7.0.1)

0
Peter Evan Deal