Matplotlib 将绘图延迟到以下笔记本单元

Matplotlib 将绘图延迟到以下笔记本单元,matplotlib,jupyter-notebook,Matplotlib,Jupyter Notebook,我想要这个代码组织 # 1st cell showing my intentions plt.plot(t, f(t)) (NO OUTPUT) 及 因为我计划使用笔记本制作幻灯片和/或pdf,使用的扩展只允许隐藏输入单元格,这样我的读者只能看到 我想展示我的代码…他们可以查看笔记本本身,看看幕后发生了什么 我试过plt.hold()但这不是我想的…您可以通过将%%capture放在jupyter单元格的第一行来捕获它的输出。@importantanceofbeingernest在我看来,%

我想要这个代码组织

# 1st cell showing my intentions
plt.plot(t, f(t))

(NO OUTPUT)

因为我计划使用笔记本制作幻灯片和/或pdf,使用的扩展只允许隐藏输入单元格,这样我的读者只能看到 我想展示我的代码…他们可以查看笔记本本身,看看幕后发生了什么


我试过
plt.hold()
但这不是我想的…

您可以通过将
%%capture
放在jupyter单元格的第一行来捕获它的输出。@importantanceofbeingernest在我看来,
%%capture
的实现有缺陷-在
%%capture my_plot
之后,我应该能够访问一个成员
my_plot.outputs
包含我可以传递到
display
的丰富显示对象,但它不起作用,如果我尝试访问该属性,IPython将引发异常。此外,我怀疑保存的对象是绘图的位图,而不是matplotlib
ax
。我不确定我是否理解这一点。我的建议是使用
%%capture
而不使用任何appenix。@importantanceofbeingernest我想在一个单元格中抑制绘图,在下一个单元格中我想修改它,并最终显示修改后的(在我的示例中,我添加了一个x标签)绘图。፨ 我建立在你的评论之上,那没有解决我问题的这一方面,试图找到解决我问题的办法。我之前的评论现在有意义了吗?我现在看不出问题所在。捕获第一个单元格的输出,但不要捕获第二个单元格的输出。
# 2nd cell with boring details
plt.xlabel(...)
...
plt.show()

(the plot with all the now interesting details)