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

导出含Plotly图表的Jupyter Notebook为HTML时图表不显示的解决方法

解决nbconvert导出Plotly图表随机不显示的问题

以下是几个可行的解决思路:

1. 更换Plotly渲染器配置

原代码中使用的notebook渲染器在交互式环境正常,但导出HTML时可能因JS资源加载时机或路径问题导致渲染失败。建议替换为notebook_connected或iframe渲染器:

import plotly.io as pio
# 优先推荐notebook_connected,会确保Plotly JS资源嵌入到导出的HTML中
pio.renderers.default='notebook_connected'
# 或者用iframe渲染器,将图表封装为独立iframe,避免加载冲突
# pio.renderers.default='iframe'

2. 切换为静态图片渲染(牺牲交互性换稳定性)

如果不需要图表的交互功能,可以将Plotly图表导出为静态图片嵌入HTML,彻底避免JS加载问题:

import numpy as np
import pandas as pd
import plotly.io as pio
pd.set_option("plotting.backend", "plotly")

df = pd.DataFrame(np.random.normal(0, 1, size=(150, 250)))
fig = df.sum().cumsum().plot()
# 用png渲染器显示静态图片
pio.show(fig, renderer='png')

也可以全局设置静态渲染器:pio.renderers.default='png'

3. 导出时强制重新执行Notebook

如果图表不显示是因为Notebook中的输出是旧缓存内容,可在nbconvert命令中添加--execute参数,导出前重新执行所有单元格,确保图表是最新生成的:

jupyter nbconvert test.ipynb --no-input --to html --execute

注意:执行前请确保环境依赖(numpy、pandas、plotly等)已正确安装,避免执行报错。

4. 手动引入Plotly JS资源

若上述方法无效,可在Notebook开头手动添加代码,引入Plotly官方CDN的JS资源,确保导出的HTML能正确加载渲染所需的脚本:

from IPython.display import HTML
HTML('<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 05:45:35