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

如何在Jupyter Notebook中保存Plotly离线生成的图表?

可以实现将Plotly图表保存在Notebook内部,下次打开无需重新运行也能正常查看,具体操作方法如下:

问题原因

默认情况下Plotly的交互式图表依赖在线的JS资源渲染,如果没有配置离线嵌入模式,保存Notebook时不会把渲染所需的资源写入文件,断网或重新打开时就会出现图表无法显示的问题。

解决方案

方法1:适配你当前的离线iplot写法

你现有代码缺少init_notebook_mode的初始化调用,需要补充配置指定不使用在线资源,修改后的代码如下:

import plotly.graph_objects as go
from plotly.offline import init_notebook_mode, iplot
from plotly.subplots import make_subplots

# 核心配置:将Plotly依赖的JS资源直接嵌入到Notebook内部,不调用在线资源
init_notebook_mode(connected=False)

fig=go.Figure()
fig.add_scatter(x=differenced_data.index[-1*n_steps:], y=test.values,name='test data',mode='lines+markers',marker=dict(color='green',size=5))

iplot(fig)

运行代码后保存Notebook,所有渲染需要的资源和图表数据都会存储在ipynb文件中,下次打开不需要网络也能正常显示。

方法2:新版Plotly(v4.0及以上)更简洁的写法

当前主流的新版Plotly已经不需要手动导入离线模块,直接调用fig.show()默认就会自动内嵌资源,代码更简洁:

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

fig=go.Figure()
fig.add_scatter(x=differenced_data.index[-1*n_steps:], y=test.values,name='test data',mode='lines+markers',marker=dict(color='green',size=5))

# 直接调用show方法即可,默认会把图表完整嵌入Notebook
fig.show()

注意事项

  • 保存Notebook的时候,一定要等图表完全渲染出来之后再点保存,避免资源没有完全写入到文件里
  • 如果你使用的是Jupyter Lab,需要先安装Plotly对应的扩展:运行pip install jupyterlab-plotly命令,安装完成后重启Jupyter Lab即可正常内嵌
  • 不要清空Notebook的输出单元格,清空之后内嵌的图表资源也会被同步删除,下次打开就无法显示了

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 06:45:07