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

Plotly图表在Jupyter转换的HTML中不显示,如何加载远程Plotly.js?

解决Plotly图表在nbconvert生成的HTML中加载本地JS失败的问题

方案1:在Notebook中提前配置Plotly使用CDN渲染

在你的Jupyter Notebook开头添加以下代码,强制Plotly生成引用远程CDN的代码,这样转HTML时就不会依赖本地的plotly.js:

import plotly
# 启用联网模式,让Plotly使用CDN资源
plotly.offline.init_notebook_mode(connected=True)
# 指定渲染器为联网版notebook模式
plotly.io.renderers.default = 'notebook_connected'

执行这段代码后再运行绘图单元格,之后用jupyter nbconvert --to html --no-input main.ipynb转换,生成的HTML会自动引用CDN上的Plotly.js,不会再尝试加载本地文件。

方案2:修改nbconvert的全局配置

如果需要所有Notebook转HTML都默认用CDN,可以修改Jupyter的nbconvert配置:

  1. 生成配置文件(如果还没有):
jupyter nbconvert --generate-config
  1. 打开生成的jupyter_nbconvert_config.py,添加以下配置项:
# 配置require.js的CDN地址(保持默认也可,这里明确指定)
c.HTMLExporter.require_js_url = "https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"
# 给require.js添加Plotly的CDN路径映射
c.HTMLExporter.extra_require_paths = {
    "plotly": "https://cdn.plot.ly/plotly-2.18.0.min.js"
}

保存配置后,再执行转换命令,生成的HTML会自动让require.js从CDN加载Plotly.js。

方案3:转换后手动修改HTML的require配置

如果不想修改Notebook或全局配置,可以在转换后的HTML文件中,找到<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>这一行,在它之前添加一段配置代码,告诉require.js从CDN加载plotly:

<script>
require.config({
    paths: {
        'plotly': 'https://cdn.plot.ly/plotly-2.18.0.min'
    }
});
</script>

这段代码会覆盖默认的本地路径配置,让require.js直接请求CDN上的Plotly.js文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 22:31:15