控制IPython Notebook的情节布局和其他输出

时间:2014-08-05 07:12:59

标签: matplotlib ipython-notebook

当一个IPython笔记本在这样的单元格中有代码时:

display_html(HTML('Heading'))
plt.plot(x,y)
display_hmtl(HTML('Sub-heading'))
plt.plot(x,y)

图表的输出总是在最后收集,如

Heading
Heading
[first plot]
[second plot]

如何控制布局以使输出正确交错?

(我知道我可以将代码放在单独的单元格中,但我希望通过迭代调用代码块来生成长报告)

1 个答案:

答案 0 :(得分:2)

您还应该主动显示数字,而不是让IPython收集输出并将其显示为结果。您还应该在结尾处关闭所有活动数字,因为据我所知,如果他们仍然打开,IPython将会(再次)显示它们。

例如:

display_html(HTML('Heading'))

fig, ax = plt.subplots()
ax.plot(np.arange(100),np.random.randn(100).cumsum())
display(fig)

display_html(HTML('Sub-heading'))

fig, ax = plt.subplots()
ax.plot(np.arange(100),np.random.randn(100).cumsum())
display(fig)

plt.close('all') # this closes all of them

看起来像:

enter image description here