matplotlib python内联开/关

use*_*888 49 matplotlib ipython ipython-notebook

如果我用matplotlib内联启动一个ipython笔记本,有没有办法随后绘制一个图形,以便以"标准",非内联方式显示,而不必在没有内联命令的情况下重新加载笔记本?我希望能够将一些数字内联到笔记本中,但其他人则采用传统的交互模式,我可以放大和平移.

Gus*_*rra 39

您可以通过切换matplotlib的后端%matplotlib <backend>.要切换回系统的默认后端使用%matplotlib auto或只是简单%matplotlib.

有可用的,例如许多后端gtk,qt,notebook等我个人强烈推荐notebook(又名nbagg)后端.它类似于inline交互式,允许从Jupyter内部进行缩放/平移.

有关更多信息,请尝试:?%matplotlib在IPython/Jupyter或IPython的在线文档中

  • 输入`%matplotlib`会为我杀死内核,输入此命令后我必须从头开始重新运行笔记本.有没有办法在不杀死内核的情况下这样做? (3认同)

mat*_*ten 8

plt.ioff()并且plt.ion()像我的Jupyter笔记本中的魅力一样notebook作为后端(假设通常import matplotlib.pyplot as plt).

  • 尽管调用`ion()`或`ioff()`,情节总是以内联方式显示给我. (7认同)

Mat*_*att 6

这取决于你的matplotlib的确切配置,但你可以在内联和'osx','qt4','qt5','gtk3','wx','qt','gtk','tk'之间切换(有些是其他的别名).只是%matplotlib <the one you want>用来切换.根据您的条件,您只能访问其中一个.


tsb*_*lan 5

另一种可能性是使用matplotlib.pyplot.close(fig)。即使出现%matplotlib auto一个可怕的wx错误(与我安装在其中的GTK开发文件的版本有关),这也对我有用LD_LIBRARY_PATH

虽然这可能会导致问题,如果你正在做一些喜欢做的视频(也可能没有,没试过),它使用一台组装图像时,工作对我来说IPython.display.HTML每次这个答案