Matplotlib图未显示在Jupyter笔记本

时间:2018-06-12 15:39:26

标签: matplotlib jupyter-notebook

我在Jupyter笔记本的第一个单元格中有以下代码段:

import matplotlib.pyplot as plt
import pandas as pd
import ipywidgets as widgets
import numpy as np

out = widgets.Output()
data = pd.DataFrame(np.random.normal(size = 50))
plt.ioff()
with out:
    fig, axes = plt.subplots()
    data.hist(ax = axes)
    display(fig)
plt.ion()    
display(out)

如果我重新启动内核并运行第一个单元格,我会看到这个输出:

<Figure size 640x480 with 1 Axes>

但是,如果我在第一个单元格中运行第二时间,我会看到一个matplotlib图。如果我在将matplotlib导入第二个单元格之后移动所有内容,重新启动内核并重新运行整个笔记本,也会出现此行为。

这种行为的意义是否有意?

1 个答案:

答案 0 :(得分:2)

重新排列并添加魔术命令'%matplotlib notebook'的代码对我有用。

%matplotlib notebook
import matplotlib.pyplot as plt
import pandas as pd
import ipywidgets as widgets
import numpy as np

out = widgets.Output()

plt.ioff()
fig, axes = plt.subplots()
plt.ion()

data = pd.DataFrame(np.random.normal(size = 50))
data.hist(ax = axes)

display(out)

with out:
    display(fig)