python - 仍然需要 %matplotlib inline 吗?
问题描述
有许多资源可以解释为什么%matplotlib inline
需要内联显示图。例如%matplotlib inline 的目的。但是,如果我们在您的 Jupyter Notebook 中使用更高版本的 IPython,我觉得不再需要。这是因为我可以在运行或不运行的情况下显示内联图%matplotlib inline
(每次重新启动内核时,我使用的 IPython 版本是 7.17.0)。我的预感是,最近的版本可能默认激活内联后端。
当我运行%matplotlib
以检查新会话的当前后端时,它显示 Qt5Agg。运行后%matplotlib inline
,当我再次运行检查时%matplotlib
,它显示相同的Qt5Agg。这让我觉得这%matplotlib inline
是多余的,因为它没有改变任何东西。顺便说一句,我自己没有更改任何 IPython 配置。
但是,我没有看到任何官方文档说默认情况下为 IPython 版本 xxx+ 激活内联后端。我发现这个和这个Github 问题与我试图找到的问题很接近,但它并没有完全确认“如果你的 IPython 版本是 xxx+,你不再需要运行%matplotlib inline
,因为它是默认行为”。我浏览了 IPython 最近的发行说明,但似乎并没有证实这个假设。
我的预感对吗?如果是这样,它不需要哪些 IPython 版本?有没有官方文件这么说?如果没有,我怎么能在不运行的情况下内联绘图%matplotlib inline
?
这似乎与为什么我的 jupyter notebook 中不需要“%matplotlib inline”的重复?. 我无法从这个线程中确认我的预感。
解决方案
使用的唯一原因%matplotlib inline
是即使plt.show()
未调用该函数也可以渲染任何 matplotlib 图。
但是,即使%matplotlib inline
不使用,Jupyter 仍会将 Matplotlib 图显示为一个对象,matplotlib.lines.Line2D object at 0x0392A9D0
在控制台中出现类似的东西。
终点是不再需要它,但是,保持代码干净并调用您制作的情节仍然是惯例,并且绝对推荐。
推荐阅读
- java - 根据 JSON 模式验证 JSON(在 Java 中)
- javascript - 如何用变量名添加数字?
- typo3 - 为什么 TYPO3 在 Core 中没有页面模型?
- java - 带有 Postgres 问题的 Spring Data:如何将时区参数传递到本机查询中?
- react-native - 如何在本地反应中使用非地理地图?
- ios - 由于对调度组的不平衡调用导致不明显的崩溃
- flutter - 如何在 Flutter 中使用 Dio 处理超时错误?
- xpath - 选择没有跨度xpath的div(文本)
- python - 将自定义停用词附加到 nltk.corpus 中的默认停用词列表,并使用 lambda 从数据帧中的系列中删除停用词
- angularjs - Angular:翻译功能无法从其他组件访问