如何在 Jupyter 笔记本中抑制不需要的绘图图形对象信息



我想在运行Jupyter Notebook单元格时禁止任何文本输出。具体来说,我输出一些数字,每个数字都伴随着类似的东西:

<Figure size 432x288 with 0 Axes>

我已经看到,如果我在行尾放一个;,它应该抑制输出,但它在我的情况下不起作用。

代码:

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);

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

但是,在生成对象的单元格中有一个循环。
罪魁祸首似乎plt.clf().注释掉该行或将其从代码中删除,它应该会修复它。
另外,我会删除plt.show()因为删除plt.clf()时没有必要,而且我看到它在循环中导致fig = plt.figure(figsize=(15,4))也显示输出文本,就像您在问题中发布的那样。
(我稍后会为其他人补充一点,重要的是在单元格的开头(或在此单元格上方的某个单元格的开头(%matplotlib inline%matplotlib notebook

有关如何隐藏或删除Jupyter中内容的完整指南可从官方文档中获得:https://jupyterbook.org/interactive/hiding.html#

要删除单个输出行,您可以通过添加_ = [command ]赋值来调整命令行,如本博客所示:https://www.tutorialguruji.com/python/suppress-output-in-matplotlib/.
下划线有一个一次性变量,实际上是一个"不在交互模式下"的未识别变量。请参阅官方 Python 文档:https://docs.python.org/3.9/reference/lexical_analysis.html#reserved-classes-of-identifiers

最新更新