%matplotlib笔记本显示空白直方图

Joã*_*tes 26 python matplotlib jupyter-notebook

在我的笔记本Jupyter我现在使用%matplotlib notebook的替代%matplotlib inline,它的真棒,我现在可以用我的Jupyter地块互动.但是,当我尝试制作直方图时,我得到一个空白的情节:

%matplotlib笔记本

如果我使用%matplotlib inline一切正常: %matplotlib内联

这是怎么回事?

Imp*_*est 64

看到我上面的评论确实帮助了某人解决问题,我会将其作为答案发布.

如果切换%matplotlib inline%matplotlib notebook不重新启动内核,则会出现此问题.

从切换%matplotlib notebook%matplotlib inline工作正常.

因此,解决方案是重新启动内核或启动新笔记本.

似乎在某些情况下,它有助于重复笔记本后端的设置,即调用它两次

%matplotlib notebook
%matplotlib notebook
Run Code Online (Sandbox Code Playgroud)

  • 在导入matplotlib为我解决此问题之前,调用“%matplotlib笔记本” (4认同)

And*_*ras 6

答案不一定是重新启动整个内核。

如果您重新加载matplotlib模块,它也将起作用。如果您像我一样使用Python 3.6,并且您也import matplotlib.pyplot as plt像我一样:

from importlib import reload
reload(plt)
%matplotlib notebook
Run Code Online (Sandbox Code Playgroud)

它能解决问题。是的,它仍然是一个hack。至少这是一个可以在笔记本中间使用的独立代码单元。通过切换回来%matplotlib inline不是问题。

您也可以从sys.modules列表中删除一次导入的名称,然后在再次调用导入时再次导入它们。

import sys
sys.modules.pop('matplotlib')
from matplotlib import pyplot as plt
Run Code Online (Sandbox Code Playgroud)

在许多情况下,这是个不太好的主意。但这有时可能是唯一可以坚持的稻草。