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:
Si j'utilise %matplotlib inline
tout fonctionne bien:
Que se passe-t-il?
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
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.
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:
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