如果我在IPython Notebook中使用Matplotlib内联启动,是否有办法随后以“标准”的非内联方式绘制图形,而无需重新加载没有内联命令的笔记本?
我希望能够在笔记本中内联一些图形,但其他图形以传统的交互模式显示,以便我可以进行缩放和平移。
我希望能够在笔记本中内联一些图形,但其他图形以传统的交互模式显示,以便我可以进行缩放和平移。
%matplotlib <backend>
来切换matplotlib的后端。要切换回系统的默认后端,请使用%matplotlib auto
或简单地使用%matplotlib
。
有许多可用的后端,例如gtk
,qt
,notebook
等。我个人强烈建议使用notebook
(又名nbagg
)后端。它类似于inline
但是交互式的,允许在Jupyter内部进行缩放/平移。
有关更多信息,请在IPython/Jupyter中尝试: ?%matplotlib
或查看IPython的在线文档
plt.ioff()
和plt.ion()
能够完美地工作。ion()
或 ioff()
,但我的图表始终以内联方式显示。 - Konstantin这取决于您的matplotlib确切配置,但您可以在'osx'、'qt4'、'qt5'、'gtk3'、'wx'、'qt'、'gtk'、'tk'之一的内联和其中切换(某些是其他的别名)。只需使用%matplotlib <您想要的>
来切换。根据条件,您可能只能访问其中之一。
matplotlib.pyplot.close(fig)
。即使 %matplotlib auto
引发了可怕的 wx
错误(与我安装在LD_LIBRARY_PATH
中的GTK开发文件版本有关),这对我来说仍然有效。IPython.display.HTML
组合图像以在表格中添加文本时,它对我很有效,如此答案所述。
auto
才有效,简单的%matplotlib
会抛出异常。 - Artyom Akselrod