Jupyter notebook 如何抑制Jupyter笔记本中不需要的输出

Jupyter notebook 如何抑制Jupyter笔记本中不需要的输出,jupyter-notebook,output,Jupyter Notebook,Output,我想在运行Jupyter Notebook cell时抑制任何文本输出。具体地说,我输出了一些数字,每个数字都附有如下内容: <Figure size 432x288 with 0 Axes> 如果单元格最后一行的典型输出是您试图抑制的内容,则分号将起作用。正如@kynan简洁地总结的那样,“这之所以有效,是因为笔记本显示了最后一个命令的返回值。通过添加;最后一个命令是“无”,因此没有要显示的返回值。” 但是,在生成对象的单元格中有一个循环。 罪魁祸首似乎是plt.clf()。注释

我想在运行Jupyter Notebook cell时抑制任何文本输出。具体地说,我输出了一些数字,每个数字都附有如下内容:

<Figure size 432x288 with 0 Axes>

如果单元格最后一行的典型输出是您试图抑制的内容,则分号将起作用。正如@kynan简洁地总结的那样,“这之所以有效,是因为笔记本显示了最后一个命令的返回值。通过添加;最后一个命令是“无”,因此没有要显示的返回值。”

但是,在生成对象的单元格中有一个循环。
罪魁祸首似乎是
plt.clf()
。注释掉该行或将其从代码中删除,它应该会修复该行。
另外,我要删除
plt.show()
,因为删除
plt.clf()
时不需要它,我看到它在循环中,导致
fig=plt.figure(figsize=(15,4))
也显示输出文本,就像您在您的问题中发布的一样。

(我将在后面为其他人补充,在单元格的开头(或在单元格上方的某个位置)有
%matplotlib inline
%matplotlib notebook
)是很重要的。)

是否将
%matplotlib inline
%matplotlib notebook
作为此单元格上方某个单元格中的第一行?谢谢。那么不可能抑制`'输出吗?那么您在某处有
%matplolib inline
matplolib笔记本
?它应该是可以抑制的。然而,您的代码不是一个可以直接调试的案例。我试图制作一个等效的玩具示例进行测试。我的测试表明
plt.clf()
正在生成虚假输出。你能移除它并让你的图保持静止吗?
for i in tqdm_notebook(range(data.shape[0])):
    print('BIN:',i)
    fig = plt.figure(figsize=(15,4))
    plt.tight_layout()
    gs = gridspec.GridSpec(2,1)
    ax1 = fig.add_subplot(gs[0, 0])
    ax1.plot(match[window_begin:window_end],'k')
    plt.vlines(i,-np.max(match[window_begin:window_end])*0.05,np.max(match[window_begin:window_end])*1.05,'r',linewidth=4,alpha=0.2)
    ax1.set_xlim(0-1,post_bin_match_median[window_begin:window_end].shape[0])
    ax1.set_ylim(-np.max(match[window_begin:window_end])*0.05,np.max(match[window_begin:window_end])*1.05)
    plt.tick_params(axis='y', which='both', left=True, labelleft=False)
    ax1.tick_params(axis='x', which='both', bottom=False, labelbottom=False)
    plt.grid()

    ax2 = fig.add_subplot(gs[1, 0])
    fig.subplots_adjust(hspace=0.0)
    ax2.plot(gp_mjds[:],gp_data[i,:],'k')
    ax2.errorbar(remain, all[i,:], yerr=all_noise[i], fmt=".k", capsize=0);
    ax2.fill_between(gp[:], gp2[i,:] - np.sqrt(gp_var[i,:]), gp2[i,:] + np.sqrt(gp_var[i,:]),color="k", alpha=0.2)
    ax2.set_xlim(gp[0],gp[-1])
    plot_y_min = np.minimum(np.min(gp2[:,:] - np.sqrt(gp_var[:,:])),np.min(all_profile_residuals[:,:]-y_noise))
    plot_y_max = np.maximum(np.max(gp2[:,:] + np.sqrt(gp_var[:,:])), np.max(all[:,:]+y_noise))
    ax2.set_ylim(plot_y_min,plot_y_max)
    plt.grid()
    plt.show()
    plt.clf()
    plt.close(fig);