SuperAPI AI 工具集

chart

数据与分析

查看项目

更新于 10-16 10:02

技能介绍

用途

Chart 用于在用户需要可视化图表时生成交互式图表页面,适用于价格图表、对比、仪表盘、商业分析等场景。图表基于 Apache ECharts 渲染,采用项目制组织,每个图表单独存放在 output/chart-html/ 下的项目文件夹中,便于复用和迭代。

主要能力

图表模板

技能提供以下可复用模板及其适用场景:

模板 适用场景
line.html 时间序列趋势、多序列对比
bar.html 类别对比、排名
pie.html 构成/占比拆分
candlestick.html OHLCV 价格图表
scatter.html 相关性、分布
dashboard.html KPI 卡片 + 2×2 多图网格
radar.html 多维度评分
heatmap.html 矩阵/日历强度
dual-axis.html 量纲差异很大的两个序列(如市值 vs 稳定币供应量),左右 Y 轴各有独立标签颜色
multi-panel.html 共享一个 X 轴的堆叠面板(如价格 + 成交量 + RSI),单一 ECharts 实例,提示框/缩放跨所有面板同步
waterfall.html 增量贡献拆解(如损益归因、预算差异),正负柱堆叠在浮动基线上

渲染与导出

  • 使用 ECharts(CDN)渲染。
  • 使用 ECharts 原生导出(getDataURL)+ canvas 合并,实现可靠的 PNG 输出。
  • 项目制存储:每个图表项目一个文件夹。
  • 无画廊模式:所有产物保留在项目文件夹中。

项目结构(必需)

echo 'output/chart-html/ <project-name>/ index.html # 图表页面 generate.py # 生成脚本(用于可复现) README.md # 标题/描述/数据来源说明 data.json # 数据快照 screenshot.png # 保存的图片'

文件夹命名示例:btc-90d-20260401

使用方式

第 1 步:选择模板或自定义布局

从上述模板中选择,或使用自定义布局。

第 2 步:创建项目文件夹

使用 scripts/build_chart.py 中的 create_project(name, description, data_sources)。

第 3 步:构建并保存图表页面

使用以下任一方式:

  • build_chart(template_name, ...)
  • build_chart_custom(...)

然后保存为项目文件夹中的 index.html:

save_chart(html, project_dir=project_dir)

第 4 步:保存可复现资产

同时保存:

  • save_generate_script(script_content, project_dir) → generate.py
  • save_data(data, project_dir) → data.json
  • 项目 README 由 create_project(...) 创建

第 5 步:提供预览服务

使用项目根目录服务(推荐):

echo 'preview_serve( title="Chart Preview", dir="skills/chart/scripts", command="python3 chart_server.py /data/workspace/output/chart-html 7860", port=7860 )'

然后打开:/preview/<id>/<project-name>/index.html

第 6 步:导出图片

两种模式:

  • 用户需要网页 + 图片:点击页面工具栏中的“💾 Save Image”,保存到当前项目为 screenshot.png。
  • 用户只需要图片:调用 screenshot_chart(project_dir)(Playwright)并直接发送 screenshot.png。

工具栏要求

每个图表页面必须包含以下按钮:

echo '<div class="actions"> <button onclick="downloadPNG(this)">📥 Download PNG</button> <button onclick="copyToClipboard(this)">📋 Copy Image</button> <button onclick="saveToProject(this)">💾 Save Image</button> </div>'

不要包含画廊入口。

关键文件

文件 用途
skills/chart/scripts/base-styles.css 基础深色主题 CSS
skills/chart/scripts/base-export.js 导出辅助:下载/复制/保存到项目
skills/chart/scripts/build_chart.py 项目创建、HTML 构建、数据/脚本保存、截图
skills/chart/scripts/chart_server.py 静态服务器 + /save-chart API
skills/chart/templates/*.html 可复用图表模板
output/chart-html/<project>/* 所有生成的图表产物

注意事项

  • 将数据直接嵌入 HTML(const DATA = ...)以避免 iframe CORS 问题。
  • 对于多图页面,将所有图表实例注册到 window.CHART_INSTANCES。
  • 使用有意义的项目名称(主题-范围-日期),便于查找。

限制

资料未提供关于收费、价格、平台兼容性等方面的信息,暂未提供。