← 返回 Skill 列表
extension
分类: 数据与分析无需 API Key

通用图表生成 Skill

通用图表生成技能。读取表格数据文件(CSV / JSON,可选 xlsx),自动或按指定类型生成交互式 ECharts 图表,输出为独立 HTML 文件,可双击在浏览器查看、可保存图片。支持折线/面积/柱状/横向柱状/堆叠柱状/饼图/环形图/散点图共 8 类。本地运行、零网络依赖(ECharts 库随包内联),无需任何 API Key。当用户要「分析数据」「做图表」「数据可视化」「把表格画成图」时使用。``` 通用图表生成技能。读取 CSV / JSON(可选 xlsx)表格数据,自动或按指定类型生成交互式 ECharts 图表,输出为独立 HTML 文件,双击即可在浏览器查看、可保存图片。支持折线 / 面积 / 柱状 / 横向柱状 / 堆叠柱状 / 饼图 / 环形图 / 散点图共 8 类。本地运行、零网络依赖(ECharts 库随包内联),无需任何 API Key。 人无横财不富,马无夜草不肥 AI时代创造财富的机会。在规则里待过二十年,不讲鸡汤,只拆搞钱的底层机制,挖掘更多赚钱密道。 直接查看下面网页,或者在 “ima 知识库”搜:局内人·老K https://muzhi-888.github.io/ju-nei-ren-lao-k/ (Github官方链接) 网页内容依托于ima 知识库 https://workbuddy.link/p/A8pEjYJvtpUbliuXdGKhEU(workbuddy资料库网页链接)

person作者: user_9d2f1c28hubcommunity

通用图表生成(Universal Charts)

把表格数据一键变成可交互的 ECharts 图表。数据进、HTML 出,双击即看,可存图。 支持 8 类图表:折线 / 面积 / 柱状 / 横向柱状 / 堆叠柱状 / 饼图 / 环形图 / 散点图。 图表类型明细、列选择规则、报错排查见 references/图表类型指南.md。


30 秒速查(先看这个)

最小可用命令(柱状图,自动识别数值列):

python {skill_base}/scripts/chart_generator.py 数据.csv --x 月份 --y 营收 --title "月度营收" --out 营收图.html
  • {skill_base} = 本 skill 根目录(含 SKILL.md)。
  • --type 指定图表类型;不指定且不加 --auto 时默认按数据形态自动选(见下方「自动选型」)。
  • --y 多个数值列用逗号分隔:--y 营收,利润 → 多条系列。
  • 输出为独立 HTML,ECharts 已内联,离线可用,不发任何网络请求。

黄金示例 1:多系列折线(趋势对比)

python {skill_base}/scripts/chart_generator.py 数据.csv --type line \
  --x 月份 --y 营收,利润 --title "月度营收与利润趋势" --out 趋势.html

黄金示例 2:饼图(占比构成)

python {skill_base}/scripts/chart_generator.py 数据.csv --type pie \
  --x 类别 --y 占比 --title "品类占比" --out 占比.html

黄金示例 3:散点(相关性)

python {skill_base}/scripts/chart_generator.py 数据.csv --type scatter \
  --x 身高 --y 体重 --title "身高体重相关" --out 相关.html

黄金示例 4:堆叠柱状

python {skill_base}/scripts/chart_generator.py 数据.csv --type stacked_bar \
  --x 季度 --y 产品A,产品B,产品C --title "分产品季度堆叠" --out 堆叠.html

触发条件(Activation Triggers)

满足以下任一即加载本技能:

  • 用户提到:「分析数据」「做图表」「数据可视化」「画个图」「把表格变成图」「生成报表图」
  • 用户提供了一个表格文件(CSV / JSON / xlsx)并要求可视化
  • 用户要从表格数据产出可展示的图

硬约束(MUST follow)

  1. 必须走 CLI:用 chart_generator.py 生成,不要手写 HTML 或自己拼 ECharts 配置。
  2. 列名必须真实存在:--x / --y 的列名必须出现在数据里;不存在会返回结构化错误,按提示改列名重试。
  3. 中文编码自动回退:CSV 默认按 utf-8-sig → gbk → utf-8 顺序尝试,一般无需指定编码。
  4. 数值自动清洗:千分位逗号、%、空值、- 会自动处理为数值或忽略,无需预处理。
  5. 零网络:生成过程不联网;输出的 HTML 内联了 ECharts,断网也能看。
  6. 只增不改:技能只生成新 HTML 文件,不修改/删除用户的源数据。

自动选型(--auto 或省略 --type 时)

按数据形态推断(无需用户指定类型):

  • 数值列 ≥ 2 → line(多系列折线,适合对比趋势)
  • 数值列 = 1 且有类别列 → bar(单系列柱状)
  • 其余兜底 → bar

想精确控制就显式 --type,自动选型只是省事兜底。


执行流程(Execution Workflow)

  1. 拿数据:用户上传文件,或给本地路径。
  2. 定类型:用户指定 --type 则用之;否则 --auto 按形态选;实在不确定就默认 bar。
  3. 定轴:
    • 轴类图(line/area/bar/hbar/stacked_bar):--x 类别列,--y 数值列(可多个)。
    • 饼图/环形:--x 名称列,--y 数值列(取第一个)。
    • 散点:--x / --y 均为数值列。
  4. 生成:调 chart_generator.py → 输出 HTML。
  5. 呈现:把生成的 HTML 路径告诉用户,提示双击浏览器打开;需要图片就用图表右上角「保存图片」。

图表类型一览

| 类型值 | 适合 | X 轴 | Y 轴 | 说明 | |--------|------|------|------|------| | line | 趋势/变化 | 类别或时间 | 1~N 数值 | 多系列自动分色 | | area | 累计/变化(带填充) | 类别或时间 | 1~N 数值 | 在 line 基础上加面积填充 | | bar | 类别对比/排名 | 类别 | 1~N 数值 | 最常用 | | hbar | 类别多、名称长 | 类别(纵轴) | 1~N 数值 | 横向柱状,适合长标签 | | stacked_bar | 构成堆叠 | 类别 | 1~N 数值 | 同 stack 堆叠求和 | | pie | 占比/构成 | 名称列 | 1 数值 | 显示百分比 | | doughnut | 占比(环形) | 名称列 | 1 数值 | 环形饼图 | | scatter | 两变量相关 | 数值 | 数值 | 散点分布 |

完整列选择规则、常见报错与排查见 references/图表类型指南.md。


退出与校验(Exit Criteria)

  • ✅ 成功:stdout 输出 {"success": true, "html_path": "...", "chart_type": "...", "rows": N},且 html_path 文件存在非空 → 把路径给用户。
  • ❌ 失败:stdout 输出 {"success": false, "error": "..."} → 读 error 修正(常见:列名不存在、文件不存在、类型不支持),最多重试 2 次。
  • 🛑 仍失败:把 error 如实告诉用户并给建议(如 xlsx 缺 openpyxl 就提示安装),不要静默绕过。

能力边界(Capability Boundaries)

  • 支持:CSV(逗号分隔,utf-8/gbk 自动)、JSON(对象数组,或 {categories, series} 形态)、xlsx(需 openpyxl);8 类图表;多系列;中文标签。
  • 不支持:数据库(先导出 CSV)、实时流数据、地理地图、图片/音频等非表格数据。
  • 网络:无。ECharts 随包内联,输出 HTML 完全离线可用。
  • 安全:只读输入、只写输出 HTML,不上传任何数据,不联网。

通用原则

  • 自然口语,像跟朋友聊;少问多产,先出图再按需调整。
  • 一次生成不满意,告诉我要换类型 / 换轴 / 换标题,我直接重跑。
  • 图表右上角「保存图片」可导出 PNG,方便贴进报告或文档。