web-dev-qa-db-fra.com

Bloc-notes% matplotlib affichant un histogramme vide

Dans mon bloc-notes Jupyter, j’utilise maintenant %matplotlib notebook au lieu de %matplotlib inline, c’est génial de pouvoir maintenant interagir avec mes parcelles sur Jupyter. Cependant, lorsque j'essaie de créer un histogramme, je reçois un tracé vierge:

 %matplotlib notebook

Si j'utilise %matplotlib inline tout fonctionne bien:  %matplotlib inline

Que se passe-t-il?

22
João Abrantes

Voyant que mon commentaire ci-dessus a effectivement aidé quelqu'un à résoudre le problème, je le posterai en tant que réponse. 

Le problème se produit si vous passez de %matplotlib inline à %matplotlib notebook sans redémarrer le noyau. 

Passer de %matplotlib notebook à %matplotlib inline fonctionne bien. 

La solution consiste donc à redémarrer le noyau ou à démarrer un nouveau cahier.

Il semble que, dans certains cas, il soit utile de répéter le réglage du backend de l’ordinateur portable, c’est-à-dire de le rappeler deux fois

%matplotlib notebook
%matplotlib notebook
52

La réponse n'est pas nécessairement de redémarrer le noyau entier.

Si vous rechargez le module matplotlib, cela fonctionnera également. Si vous utilisez Python 3.6 comme moi, et que vous avez import matplotlib.pyplot as plt comme moi:

from importlib import reload
reload(plt)
%matplotlib notebook

Ça fait l'affaire. Oui c'est toujours un bidouillage. Au moins, il s'agit d'un codecell indépendant que vous pouvez utiliser au milieu du cahier. Revenir via %matplotlib inline n'est pas un problème.

3
Anderas

Le problème semble être une interaction entre la commutation:

%matplotlib notebook
%matplotlib inline

et en utilisant la figure "bouton d'alimentation" sur les parcelles interactives:

 enter image description here

Solution: Si vous avez appuyé sur le bouton et que des parcelles sont vides, redémarrez Jupyter et n'utilisez plus le bouton d'alimentation si vous devez basculer entre notebook et inline

0
Justas