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

Jupyter Notebook中Plotly用iframe渲染时如何避免生成HTML文件?

解决Plotly在Jupyter Notebook中生成多余HTML文件的问题

核心原因

设置pio.renderers.default = "iframe"时,Plotly会将图表导出为本地HTML文件再嵌入Notebook,因此产生3-4MB的额外文件。以下是无需生成额外文件的替代方案:


方案1:替换为原生Notebook渲染器

直接将渲染器改为notebook_connected或notebook,这两种方式都不会生成单独的HTML文件:

修改配置代码如下:

import plotly.io as pio
import plotly.graph_objects as go
from plotly.subplots import make_subplots

# 优先使用CDN加载资源,无额外文件生成(需联网)
pio.renderers.default = "notebook_connected"

# 若需离线使用,可改为(JS代码嵌入Notebook,无额外文件,但Notebook体积会增加)
# pio.renderers.default = "notebook"

两种渲染器的区别:

  • notebook_connected:通过CDN加载Plotly的JavaScript库,Notebook本身体积小,无额外文件,依赖网络。
  • notebook:将Plotly的JS代码嵌入Notebook,无需联网,但Notebook文件会增大几MB。

方案2:升级依赖包解决兼容性问题

如果默认渲染器失效,大概率是Plotly与Jupyter环境版本不兼容。升级相关包后,默认渲染器(如plotly_mimetype)即可正常工作,无需手动设置iframe:

执行升级命令(pip环境):

pip install --upgrade plotly ipywidgets jupyterlab

conda环境:

conda update plotly ipywidgets jupyterlab

方案3:针对Jupyter Lab的优化

若使用Jupyter Lab,确保安装Plotly官方扩展,获得更流畅的原生渲染体验:

jupyter labextension install jupyterlab-plotly

安装完成后,设置渲染器为plotly_mimetype:

pio.renderers.default = "plotly_mimetype"

验证配置

修改完成后,运行你的绘图代码,即可正常渲染图表且不会生成额外的HTML文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 19:45:49