【问题标题】:Programmatically Stop Interaction for specific Figure in Jupyter notebook以编程方式停止 Jupyter 笔记本中特定图形的交互
【发布时间】:2017-05-10 00:58:15
【问题描述】:

如果 Jupyter 笔记本中的特定 matplotlib 图形不需要交互,如何以编程方式防止这种情况发生?

可以通过按 Ctrl-w 或单击“停止交互”手动完成 按钮。我正在寻找对相同操作的 API 访问权限。

原因:

  • 交互式数字使用资源和显示过多此类数字的警告。
  • 每次执行单元格时手动关闭它们并不方便
  • 没有交互式框架的人物更紧凑。

【问题讨论】:

    标签: python matplotlib jupyter-notebook


    【解决方案1】:

    以下似乎可行,尽管这并不理想。

    在单元格 1 中

    fig = plt.figure()
    ax = fig.add_subplot(1,1,1)
    ax.plot([0,1])
    

    在单元格 2 中

    plt.close(fig)
    

    【讨论】:

      【解决方案2】:

      您可以在具有交互性的notebook 模式和不具有此类交互性的inline 模式之间切换:

      %matplotlib inline
      

      %matplotlib notebook
      

      您可以通过以下方式在笔记本中以编程方式执行此操作:

      get_ipython().magic('matplotlib notebook')
      

      或:

      get_ipython().magic('matplotlib inline')
      

      【讨论】:

      • 不,不幸的是get_ipython().magic('matplotlib inline') 将笔记本中的所有数字都呈现为内联,而不仅仅是下一个。
      • 您需要致电get_ipython().magic('matplotlib notebook') 切换回笔记本模式。因此,只需借助我的回答中的两行代码在两种模式之间切换即可。
      • 我明白这一点。但是在切换到内联后,笔记本中所有处于交互模式的数字都变成了inline 并失去了它们的交互性,而我只需要一个特定的数字。
      猜你喜欢
      • 2016-07-04
      • 2013-07-28
      • 1970-01-01
      • 2023-02-05
      • 2017-03-22
      • 1970-01-01
      • 2021-01-27
      • 1970-01-01
      • 2017-05-05
      相关资源
      最近更新 更多