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

如何在循环中保存并拼接Plotly Express生成的图像?

解决方案

你可以直接用Plotly内置的文件保存方法替换掉fig.show(),以下是两种常用方式:

1. 保存为交互式HTML文件

HTML格式会保留图表的交互功能(比如缩放、悬停查看数据),无需额外依赖:

# 替换原代码中的fig.show()
fig.write_html(f"frame_chart_{i}.html")

文件名里加入循环变量i,避免每次循环覆盖之前的文件。

2. 保存为静态图片(PNG/JPG/SVG等)

如果需要静态格式的图片,使用fig.write_image(),但需要先安装依赖库kaleido(官方推荐替代已停止维护的orca):

pip install kaleido

然后替换代码:

# 保存为PNG图片,文件名包含当前循环的frame区间标识
fig.write_image(f"frame_chart_{i}.png")
# 也可以保存为其他格式:
# fig.write_image(f"frame_chart_{i}.jpg")
# fig.write_image(f"frame_chart_{i}.svg")

完整修改后的代码

import plotly.express as px
import pandas as pd  # 补充原代码缺失的pandas导入

for i in range(0, max(df['frame']), 30):
    df1 = df[df['frame'].between(i, i + 30)] 
    df2 = df[df['frame'].between(i - 30, i)]
    df3 = pd.concat([df1, df2[df2.id.isin(df1.id)]], axis=0)

    fig = px.line(df1, x='smooth_y', y='smooth_x', color='id') 

    # 选择一种保存方式即可
    fig.write_html(f"frame_chart_{i}.html")
    # fig.write_image(f"frame_chart_{i}.png")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 18:10:34