← ClaudeAtlas

chart-readinglisted

从图表图片提取结构化数据:柱状图/折线图/饼图/散点图等。读取数值、坐标轴、 图例,输出 JSON + Markdown 摘要,标注哪些值是精确标注、哪些是刻度线估读。 用户说"读这个图的数据""图表提取""这个柱状图/折线图/饼图的数值是多少" 并给图表图时自动触发。
awslew/ds-vision-kit · ★ 1 · Data & Documents · score 75
Install: claude install-skill awslew/ds-vision-kit
# chart-reading(场景层:图表数据读取) 把图表图片里的数据提取为结构化 JSON + 人类可读摘要。**诚实标注数据来源**: 图上直接标注的数值 vs 按刻度线估读的近似值——绝不把估读当成精确数字。 ## 触发场景 - 柱状图 / 折线图 / 饼图 / 面积图 / 散点图 / 雷达图,需要里面的数值 - "读这个图的数据"、"图表提取"、"把图表转成表格" ## 工作流 **预处理**:最长边 >1400px 先缩到 1400。图表文字若小,先全图读一遍,再对图例/坐标轴 区域 `glance --region` 补读。 **推荐**:图表读取时设 `VISION_TEMPERATURE=0` 提高确定性(在 env 文件加一行 `VISION_TEMPERATURE=0`),跑完可改回。 **Pass 1 — 全图结构化提取**(必做) ```bash glance "<图>" -q "<图表提取 prompt,见下>" ``` **Pass 2 — 小字/坐标轴/图例补读**(推荐) ```bash detect "<图>" # 枚举轴刻度、图例、数值标注的位置 glance "<图>" --region X1,Y1,X2,Y2 -q "逐字读出这块区域的所有数字和文字" ``` **Pass 3 — 数据校验自检**(推荐) ```bash glance "<图>" -q "请逐项说明:哪些数值是图上直接标注的?哪些是你按坐标轴刻度估读的?估读的给出误差估计。" ``` ## 图表提取 prompt(喂给 glance 的 -q) > 你是图表数据提取器。请从这张图表中提取结构化数据,只输出一个 JSON 对象,字段: > ```json > { > "chartType": "bar|line|pie|scatter|area|other", > "title": "图表标题", > "xAxis": { "categories": ["..."], "scale": "linear|log|..." }, > "yAxis": { "label": "...", "unit": "...", "min": ..., "max": ... }, > "legend": ["系列名..."], > "series": [ { "name": "...", "data": [数值...] } ] > } > ``` > 规则: > 1. **数值来源**:优先使用图上直接标注的数值并保持原样(不要四舍五入改写)。若某 > 数值无标注,只能根据坐标轴刻度估读,在该数据点旁标注 `"estimate": true`,并给出 > 估读误差范围,例如 `{"estimate": true, "value": 610, "error": "+/-10"}` > 2. **禁止编造**:看不清或无法确定的值,用 `null` 并注明 `"uncertain": true`,绝不猜 > 3. 坐标轴范围、刻度间隔、单位、图例必须包含;对数轴要标注 `"scale": "log"` > 4. 多系列数据逐系列列出,保持顺序 ## 输出格式 ```markdown ## 图表数据读取结果 **图表类型**:<bar/line/pie/...> **标题**:<...> **单位**:<...> ### 数据(JSON) ```jso