【问题标题】:How to add plot commands to a figure in more than one cell, but display it only in the end?如何将绘图命令添加到多个单元格中的图形,但仅在最后显示?
【发布时间】:2017-10-22 10:01:49
【问题描述】:

我想在 Jupyter Notebook 中执行以下操作:

  • 在单元格中创建pyplot.figure
  • 对于每个后续单元格,计算值并将它们绘制到同一数字上,而不显示任何内容;
  • 最后,在另一个单元格中,显示带有之前每个绘图命令结果的图形。

目前,在使用%matplotlib notebook时,图形总是显示在它创建的同一单元格之后,我什至不调用plt.show()

这不是我想要的行为。相反,我只想推迟显示最后一个单元格的图形,但图形当然应该包含在其间的单元格中调用的顺序绘图命令的结果。

【问题讨论】:

    标签: matplotlib jupyter-notebook jupyter


    【解决方案1】:

    您可以使用魔术命令%%capture 捕获 jupyter notebook 的单元格的内容。您还可以通过在其末尾放置 ; 来隐藏特定行的任何输出。

    显示图形可以通过简单地键入存储图形的变量来完成,例如fig.

    结合这些技术可以为您提供

    import matplotlib.pyplot as plt
    %matplotlib notebook
    
    %%capture captured
    fig, ax=plt.subplots()
    
    ax.plot([1,2,3]);
    
    fig  # now show the figure
    

    在这样的实际笔记本中可能更容易理解:

    另见How to overlay plots from different cells?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-06
      • 2021-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-02
      相关资源
      最近更新 更多