Aur*_*001 217
%matplotlib是IPython中的神奇功能.为方便起见,我将在此引用相关文档供您阅读:
IPython有一组预定义的"魔术函数",您可以使用命令行样式语法调用它们.有两种魔法,一种是面向线的,一种是面向细胞的.行魔法以%字符作为前缀,其工作方式与OS命令行调用非常相似:它们作为参数得到行的其余部分,其中参数的传递没有括号或引号.线条魔法可以返回结果,可以在作业的右侧使用.Cell magics以双%%为前缀,它们的函数不仅是行的其余部分,而且是单独参数下面的行.
%matplotlib inline 将matplotlib的后端设置为'inline'后端:
使用此后端,绘图命令的输出内嵌显示在前端内部,如Jupyter笔记本,直接位于生成它的代码单元下方.然后,生成的图也将存储在笔记本文档中.
使用"内联"后端时,matplotlib图表将包含在您的笔记本中,代码旁边.也值得一读如何将IPython笔记本matplotlib内联作为内联参考,以便在代码中使用它.
如果你想交互,以及,你可以使用nbagg后端与%matplotlib notebook(在IPython中3.X),如所描述这里.
mat*_*sko 66
如果您正在运行IPython,%matplotlib inline则会使您的绘图输出显示并存储在笔记本中.
根据文件
要进行此设置,在执行任何绘图或导入之前,
matplotlib您必须执行%matplotlib magic command.这为IPython提供了必要的幕后设置,可以与他们携手合作matplotlib; 但是,它实际上并不执行任何Python导入命令,也就是说,没有名称添加到命名空间.IPython提供的一个特别有趣的后端是
inline后端.这仅适用于Jupyter笔记本和Jupyter QtConsole.它可以调用如下:Run Code Online (Sandbox Code Playgroud)%matplotlib inline使用此后端,绘图命令的输出内嵌显示在前端内部,如Jupyter笔记本,直接位于生成它的代码单元下方.然后,生成的图也将存储在笔记本文档中.
pro*_*sti 61
解释清楚:
如果你不喜欢这样:
添加 %matplotlib inline
你的 jupyter 笔记本里就有它了。
Yos*_*n42 20
如果要将绘图添加到Jupyter笔记本,则%matplotlib inline是标准解决方案。还有其他魔术命令将matplotlib在Jupyter中交互使用。
%matplotlib:plt现在,任何绘图命令都将导致图形窗口打开,并且可以运行其他命令来更新绘图。某些更改不会自动绘制,以强制更新,使用plt.draw()
%matplotlib notebook:将导致交互式绘图嵌入到笔记本中,您可以缩放图形并调整其大小
%matplotlib inline:仅在笔记本中绘制静态图像
Vic*_*i B 12
从 IPython 5.0 和 matplotlib 2.0 开始,您可以避免使用 IPython 的特定魔法和使用
matplotlib.pyplot.ion()/matplotlib.pyplot.ioff(),它们也具有在 IPython 之外工作的优势。
TL; 博士
%matplotlib inline - 内联显示输出IPython 内核能够通过执行代码来显示绘图。IPython 内核旨在与 matplotlib 绘图库无缝协作以提供此功能。
%matplotlib是一个神奇的命令,它执行必要的幕后设置,使 IPython 与matplotlib; 它不执行任何 Python 导入命令,即不向命名空间添加任何名称。
%matplotlib
Run Code Online (Sandbox Code Playgroud)
(仅适用于 Jupyter Notebook 和 Jupyter QtConsole)
%matplotlib inline
Run Code Online (Sandbox Code Playgroud)
(有效值'GTK3Agg', 'GTK3Cairo', 'MacOSX', 'nbAgg', 'Qt4Agg', 'Qt4Cairo', 'Qt5Agg', 'Qt5Cairo', 'TkAgg', 'TkCairo', 'WebAgg', 'WX', 'WXAgg', 'WXCairo', 'agg', 'cairo', 'pdf', 'pgf', 'ps', 'svg', 'template')
%matplotlib gtk
Run Code Online (Sandbox Code Playgroud)
示例 - GTK3Agg - Agg 渲染到 GTK 3.x 画布(需要 PyGObject 和 pycairo 或 cairocffi)。
有关 matplotlib 交互式后端的更多详细信息:此处
从
IPython 5.0and开始,matplotlib 2.0您可以避免使用 IPython 的特定魔法并使用matplotlib.pyplot.ion()/matplotlib.pyplot.ioff(),这也具有在 IPython 之外工作的优点。
参考:IPython Rich Output - 交互式绘图
小智 7
如果你不知道什么是后端,你可以阅读这个:https : //matplotlib.org/tutorials/introductory/usage.html#backends
有些人从 python shell 交互式地使用 matplotlib,并在他们键入命令时弹出绘图窗口。有些人运行 Jupyter notebook 并绘制内联图以进行快速数据分析。其他人将 matplotlib 嵌入到 wxpython 或 pygtk 等图形用户界面中以构建丰富的应用程序。有些人在批处理脚本中使用 matplotlib 从数值模拟中生成 postscript 图像,还有一些人运行 Web 应用程序服务器来动态提供图形。为了支持所有这些用例,matplotlib 可以针对不同的输出,这些功能中的每一个都称为后端;“前端”是面向用户的代码,即绘图代码,而“后端”则在幕后完成所有艰苦的工作来制作图形。
因此,当您键入 %matplotlib inline 时,它会激活内联后端。正如之前的帖子所讨论的:
使用此后端,绘图命令的输出内联显示在 Jupyter 笔记本等前端内,直接在生成它的代码单元下方。结果图也将存储在笔记本文档中。
| 归档时间: |
|
| 查看次数: |
280019 次 |
| 最近记录: |