You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Jupyter Notebook导出无冗余输出的HTML/PDF?

解决Jupyter导出时Matplotlib冗余文本输出的问题

一、代码层面直接屏蔽冗余输出

这是最直接有效的方案——Matplotlib的boxplot、hist等绘图方法会返回对应的图形对象,Jupyter单元格会自动打印未被赋值或未以分号结尾的代码返回值,导致出现你看到的冗余文本。

  • 方法1:在绘图行末尾加分号
    修改代码,在每个返回图形对象的语句末尾加上;,抑制自动打印:

    fig, axs = plt.subplots(2,5, figsize=(20,10))
    
    axs[0,0].hist(pay_data_trim['amount'], bins=15, color = 'b');
    axs[0,0].set_ylabel('Frequency', fontsize=14)
    axs[0,0].set_title('amount', fontsize=14)
    axs[1,0].boxplot(pay_data_trim['amount']);
    axs[1,0].set_ylabel('IQR + Outliers', fontsize=14)
    
    axs[0,1].hist(pay_data_trim['oldbalanceOrg'], bins=15, color = 'g');
    axs[0,1].set_title('oldbalanceOrg', fontsize=14)
    axs[1,1].boxplot(pay_data_trim['oldbalanceOrg']);
    
  • 方法2:将返回值赋值给无用变量
    把绘图方法的返回值赋值给下划线_(约定俗成的无用变量名),避免自动打印:

    fig, axs = plt.subplots(2,5, figsize=(20,10))
    
    _ = axs[0,0].hist(pay_data_trim['amount'], bins=15, color = 'b')
    axs[0,0].set_ylabel('Frequency', fontsize=14)
    axs[0,0].set_title('amount', fontsize=14)
    _ = axs[1,0].boxplot(pay_data_trim['amount'])
    axs[1,0].set_ylabel('IQR + Outliers', fontsize=14)
    
    _ = axs[0,1].hist(pay_data_trim['oldbalanceOrg'], bins=15, color = 'g')
    axs[0,1].set_title('oldbalanceOrg', fontsize=14)
    _ = axs[1,1].boxplot(pay_data_trim['oldbalanceOrg'])
    

二、VS Code内的导出优化

  • 若不想修改代码,可在目标单元格顶部添加%%capture魔法命令,捕获所有文本输出(注意:该命令会屏蔽单元格内所有文本输出,需谨慎使用):
    %%capture
    fig, axs = plt.subplots(2,5, figsize=(20,10))
    # 后续绘图代码...
    
  • 确保VS Code的Jupyter扩展为最新版本,旧版本可能存在输出处理bug,更新后冗余问题可能自动解决。

三、推荐无冗余输出的导出工具/界面

  • Jupyter原生Web界面:通过jupyter notebook命令启动服务,在浏览器中打开.ipynb文件,导出HTML/PDF时会自动过滤Matplotlib对象文本,仅保留图形。
  • nbconvert命令行工具:在终端执行以下命令导出,精准控制输出内容:
    # 导出为HTML
    jupyter nbconvert --to html your_notebook.ipynb
    # 导出为PDF
    jupyter nbconvert --to pdf your_notebook.ipynb
    

内容的提问来源于stack exchange,提问作者Sebastian Quezada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 02:09:11