python - 基于单元格内容的 Jupyter 笔记本中 matplotlib 内联图的行为
问题描述
我很想了解下面解释matplotlib
的 Jupyter 笔记本中内联图的行为。我将展示三个案例:
案例 1:在单独的单元格中导入和绘图。在这种情况下,绘图会在两个单元格连续执行一次后出现。
案例 2:在同一个单元格中导入和绘图。在这种情况下,当单元格执行一次时,绘图不会出现[1]
(下图中没有图)。然而,当再次执行相同的单元格时,该图就会出现。[1]
这是作为以下问题提出的问题。
案例 3:添加%matplotlib inline
到案例 2,全部在一个单元格中。在这种情况下,正如预期的那样,在执行一次单元格后会出现绘图。所以这里根本没有问题。
问题
之前在这里询问过类似的帖子,其中只提到了案例 2 和案例3。ImportanceOfBeingErnest 对链接帖子的评论澄清了 Jupyter 可能以默认使用的方式配置%matplotlib inline
。
所以我的问题不是为什么案例 1 和 2 没有%matplotlib inline
,而是我想了解
- 为什么
[1]
案例 2 中的单元格需要执行两次才能显示绘图,而案例 1 中的单元格[1]
仅[2]
在执行一次时有效?import matplotlib.pyplot as plt
当在不同的单元格中调用时,是否在后台以不同的方式调用/激活后端 ?
系统规格
import sys
print (sys.version)
# 3.6.5 |Anaconda, Inc.
import matplotlib
print (matplotlib.__version__)
# 2.2.2
! jupyter notebook --version
# 5.5.0
解决方案
推荐阅读
- c# - 使用 LDAP 身份验证查找用户组
- microsoft-graph-api - 无法使用 microsoft graph api 将 .docx 文件转换为 pdf
- c++ - cpp如何将state_t *类型的对象传递给函数
- c# - 来自文件夹中图像列表的图像显示 C# UWP
- php - SimpleHTMLDom 在打印输出时返回 500 错误
- yahoo-oauth - 尝试创建应用程序 eid 3857713 时出现 Yahoo API 内部错误
- javascript - 保存拖动元素的位置 - JavaScript
- java - 数组列表
在 Java 中,[€14,€55,€500] - node.js - 在 NodeJS 的方法内设置变量值
- javascript - 无法在后台和终止状态下触发推送通知