matplotlib - Matplotlib 图未显示在 Jupyter 笔记本第一个单元格的输出小部件中
问题描述
我在 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 导入后的所有内容移动到第二个单元,重新启动内核并重新运行整个笔记本,也会出现这种行为。
这种行为差异是故意的吗?
解决方案
重新排列和添加魔术命令“%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)
推荐阅读
- python - Pygame角色移动方向
- regex - 使用 awk 正则表达式匹配字符串的问题
- angular - map() 没有返回我的 REST 调用结果的正确形式
- javascript - Angular 8 - 如何访问父组件的ng模板中使用的子组件的变量
- python-3.x - 如何在 Cython 中使用 memcpy
- winapi - 如何使用 UIAutomation/IAccessibility/Win32API 获取/更新数据 SPR32X60_SpreadSheet 内容
- json - 如何使用 Rest Controller 和 JSON 在 Spring 上使用 @ManyToMany
- c# - 在 C# 事件的内部聚合通信?
- xamarin - 如何使图像看起来像是在 xamarin 中选择的?
- python - Splash - Scrapy - HAR 数据