在Jupyter Notebook(Python)中阻止Matplotlib输出

12 浏览
0 Comments

在Jupyter Notebook(Python)中阻止Matplotlib输出

我尝试使用以下代码使用Python和Matplotlib渲染数百张图像:\n

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)

\n不幸的是,Matplotlib也将所有内容渲染到Jupyter笔记本中。有没有办法阻止Matplotlib输出任何内容?我找不到方法,大多数互联网上的答案都只是说不要使用plt.show(),但我甚至没有使用。

0
0 Comments

问题:如何在Jupyter Notebook中阻止matplotlib输出?

解决方法:使用plt.close()在notebook的单元格末尾关闭matplotlib显示。这样,其他小部件如tqdm进度条仍然可以正常显示。使用%%capture命令会阻塞所有小部件的显示。

原因:在Jupyter Notebook中,当使用matplotlib绘制图形时,默认情况下会显示图形的输出。然而,有时候我们希望在绘制图形时不显示输出,而只是保存图形或者进行其他操作。

0
0 Comments

问题原因:在Jupyter Notebook中运行matplotlib时,会自动输出图形结果,但有时候我们不希望图形结果显示出来。

解决方法:使用%%capture作为单元格的第一行代码可以禁止matplotlib的输出。

感谢ImportanceOfBeingErnest的回答,他提供了这个解决方法。

在得到解决方案后,我们应该给予提供解决方案的评论者一定的时间,让他将解决方案发布为答案,然后我们再接受他的答案。

0