wake-up-neo.net

% matplotlib-Notizbuch, das ein leeres Histogramm zeigt

In meinem Jupyter-Notizbuch verwende ich jetzt %matplotlib notebook anstelle von %matplotlib inline. Es ist fantastisch, dass ich jetzt mit meinen Plots auf Jupyter interagieren kann. Wenn ich jedoch versuche, ein Histogramm zu erstellen, bekomme ich ein leeres Diagramm:

 %matplotlib notebook

Wenn ich %matplotlib inline benutze, funktioniert alles gut:  %matplotlib inline

Was ist los?

22
João Abrantes

Da mein Kommentar in der Tat jemandem geholfen hat, das Problem zu lösen, werde ich ihn als Antwort posten. 

Das Problem tritt auf, wenn Sie von %matplotlib inline zu %matplotlib notebook wechseln, ohne den Kernel neu zu starten. 

Der Wechsel von %matplotlib notebook zu %matplotlib inline funktioniert einwandfrei. 

Die Lösung besteht also darin, den Kernel neu zu starten oder ein neues Notebook zu starten.

Es scheint, dass es in manchen Fällen hilfreich ist, die Einstellung des Notebook-Backends zu wiederholen, d

%matplotlib notebook
%matplotlib notebook

Die Antwort besteht nicht unbedingt darin, den gesamten Kernel neu zu starten.

Wenn Sie das matplotlib-Modul neu laden, funktioniert es auch. Vorausgesetzt, Sie verwenden Python 3.6 wie ich und haben import matplotlib.pyplot as plt wie ich:

from importlib import reload
reload(plt)
%matplotlib notebook

Es macht den Trick. Ja, es ist immer noch ein Hack. Zumindest ist dies eine unabhängige Codecell, die Sie in der Mitte des Notebooks verwenden können. Das Zurückschalten über %matplotlib inline ist kein Problem.

3
Anderas

Das Problem scheint eine Interaktion zwischen dem Wechseln zu sein:

%matplotlib notebook
%matplotlib inline

und verwenden Sie die Zahl "Power Button" in interaktiven Plots:

 enter image description here

Lösung: Wenn Sie die Taste gedrückt haben und leere Plots erhalten, starten Sie Jupyter neu und verwenden Sie den Netzschalter nicht erneut, wenn Sie zwischen notebook und inline

0
Justas