我试图从IPython笔记本中导出一些图。搜索我找到this question并可以对问题进行排序。正如在答案中所指出的那样,我必须在与savefig
命令相同的单元格中调用plot
。
我的问题是,为什么这些电话必须在同一个小区?我的笔记本服务器是以--pylab=inline
模式启动的。如果它不是内联的,那么情节输出就好了。
答案 0 :(得分:4)
我认为您看到了IPython
def show(close=None):
"""Show all figures as SVG/PNG payloads sent to the IPython clients.
Parameters
----------
close : bool, optional
If true, a ``plt.close('all')`` call is automatically issued after
sending all the figures. If this is set, the figures will entirely
removed from the internal list of figures.
"""
if close is None:
close = InlineBackend.instance().close_figures
try:
for figure_manager in Gcf.get_all_fig_managers():
display(figure_manager.canvas.figure)
finally:
show._to_draw = []
# only call close('all') if any to close
# close triggers gc.collect, which can be slow
if close and Gcf.get_all_fig_managers():
matplotlib.pyplot.close('all')
代码库的part
行为:
{{1}}
显示打开的数字后,所有打开的图都会关闭。
答案 1 :(得分:1)
之所以会这样,是因为默认情况下,在运行每个单元格后,IPython Notebook中使用的嵌入式后端将自动关闭所有matplotlib图形。您可以按照here的说明通过IPython.display.set_matplotlib_close
更改此行为。