【问题标题】:prevent matplotlib output in jupyter notebook (python)防止在 jupyter notebook (python) 中输出 matplotlib
【发布时间】:2017-12-18 17:03:22
【问题描述】:

我尝试使用以下代码使用 python 和 matplotlib 渲染数百张图像:

def render_state(np_data_array):
    filename = "render/fig_" + str(i) + ".png"

    fig = plt.figure(figsize = (12,12) )
    aa = fig.add_subplot(111)
    aa.imshow(np_data_array,cmap='gray')

    fig.savefig(filename)

不幸的是,matplotlib 也将所有内容都渲染到了 jupyter notebook 中。 有没有办法阻止 matplotlib 的任何输出?我真的找不到方法,互联网上的大多数答案只是说不要使用 plt.show() 我什至不使用的东西

【问题讨论】:

  • 如果您根本不需要在笔记本中渲染任何绘图,请不要致电%matplotlib inline
  • 为了防止来自 jupyter notebook 单元的任何输出,请使用 %%capture 作为单元的第一行。这就是你所追求的吗?
  • %%capture 就像魅力一样!感谢您的快速回答

标签: python matplotlib


【解决方案1】:

%%capture 作为单元格的第一行就像魅力一样! 感谢 ImportanceOfBeingErnest

【讨论】:

  • 留出时间让为您提供解决方案的评论者将其发布为答案,然后您接受它总是一个好主意。
【解决方案2】:

您也可以在笔记本单元格的末尾使用plt.close(),如here 所述。这样,您仍然可以渲染其他小部件,例如 tqdm 进度条。使用%%capture,所有小部件都被阻止。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-14
    • 2021-04-20
    • 2020-12-12
    • 1970-01-01
    • 2019-02-04
    • 2018-11-25
    相关资源
    最近更新 更多