使用 Plotly 保存静态图表的完整指南

详解如何使用 Plotly 的 write_image 方法保存高质量静态图表,包含依赖安装、分辨率设置与文件验证的完整流程。
Plotly
数据可视化
静态图表
Kaleido
Python
Published

2025-10-04

import plotly.express as px
import pandas as pd
import os # 用于检查文件是否保存成功
from trade_utils.plot import show_pic
# 设置渲染器为 Jupyter 默认
import plotly.io as pio
pio.renderers.default = 'plotly_mimetype+notebook'

# 1. 准备数据
# 我们可以创建一个简单的数据框
data = {
    'x_data': [1, 2, 3, 4, 5],
    'y_data': [10, 15, 7, 12, 9],
    'category': ['A', 'B', 'A', 'C', 'B']
}
df = pd.DataFrame(data)

# 2. 创建 Plotly 图表 (散点图)
fig = px.scatter(
    df,
    x='x_data',
    y='y_data',
    color='category', # 根据 category 字段着色
    title='Plotly 散点图示例',
    labels={'x_data': 'X 轴数值', 'y_data': 'Y 轴数值'}
)

fig.show()

# --- 保存图表到本地 ---
# 4. 指定文件名和格式
filename = "my_plot.jpg"

# 5. 使用 write_image 方法保存图片
# format='jpeg' 或 'jpg' 都可以
# scale 参数可以提高分辨率 (默认是 1)
try:
    fig.write_image(filename, format='jpeg', scale=2)
    print(f"\n🎉 图表已成功保存为 {filename}")
    
    # 额外检查:确认文件大小
    if os.path.exists(filename):
        print(f"文件大小: {os.path.getsize(filename) / 1024:.2f} KB")
except Exception as e:
    print(f"\n❌ 保存图片时发生错误: {e}")
    print("请确认是否已安装 'kaleido' 库:pip install kaleido")

show_pic(filename)

🎉 图表已成功保存为 my_plot.jpg
文件大小: 56.53 KB
尝试在 Jupyter 中显示文件: my_plot.jpg


图片已在上方单元格输出中展示。

生成的图表

生成的图表