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

如何将Jupyter Notebook中超过20张的matplotlib图表正常导出到HTML

问题解决方法
  • 方案1:临时调高figure.max_open_warning参数阈值
    在你Notebook的最开头代码块加入如下内容:
    import matplotlib.pyplot as plt
    plt.rcParams['figure.max_open_warning'] = 100  # 数值可按需调整为大于等于你要生成的图表总数即可
    
    该方案仅对当前运行的Notebook生效,不会修改全局配置,适合单份Notebook需要大量出图的场景,调整后重新运行整个Notebook再执行nbconvert命令即可,所有图表都会正常渲染,对应警告也会消失。
  • 方案2:每次绘图完成后主动关闭图表对象
    如果你不需要在后续代码中复用已经绘制完成的图表,每次绘图逻辑结束后加一行plt.close()即可主动释放内存,从根源上避免触发打开图表数超限的警告,参考示例代码:
    # 以循环生成30张图的场景为例
    for i in range(30):
        plt.figure()
        # 此处为你的绘图逻辑
        plt.plot([1,2,3], [i, i+1, i+2])
        plt.show()
        plt.close() # 主动关闭当前图表释放资源
    
    该方案更推荐,不需要修改配置参数,也不会造成多余的内存占用,对其他代码运行无影响。
  • 方案3:修改matplotlib全局配置(仅适合所有使用场景都需要大量出图的情况,一般不推荐)
    找到本地的matplotlib配置文件matplotlibrc,搜索figure.max_open_warning字段,取消注释后修改对应数值即可,修改后全局所有matplotlib绘图场景都会生效。

注意:上述三种方案调整完成后,都需要先重新运行整个Notebook保存所有输出结果,再执行jupyter nbconvert --to html mynotebook.ipynb命令,导出的HTML就会正常展示全部图表,不会再出现对应警告。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 00:45:05