Turn CSV, Excel, or JSON files into interactive ECharts HTML with 16 chart types and LLM-assisted data transforms.
Design & media
Chart Data Extractor
Try itExtract pixel-level data from an image of a chart or graph and produce a structured data table. Use when asked to extract data from a chart image, transcribe...
What it does
Extract pixel-level data from an image of a chart or graph and produce a structured data table. Use when asked to extract data from a chart image, transcribe numbers from a graph, digitise a chart, or turn a screenshot of data into a table. Produces a structured table with extracted values, confidence levels, and a reconstructed chart source. Best used with Claude Opus 4.7 or newer for reliable chart data extraction.
The skill document
Chart Data Extractor Skill
Extracts data from images of charts and graphs — bar charts, line charts, pie charts, scatter plots, and tables in images — producing a structured data table that can be used in spreadsheets or rebuilt in any charting tool. Built to leverage Opus 4.7 pixel-level image analysis capabilities.
Required Inputs
Ask the user for these if not provided:
- The chart image (upload a screenshot or image file)
- Chart type (if ambiguous — bar / line / pie / scatter / other)
- What matters most (approximate trends / precise values / specific data points / categorisation)
- Known axis values (optional — if the user knows the max/min values to anchor the extraction)
Output Structure
1. Chart Identification
| Attribute | Value |
|---|---|
| Chart type | [Bar / Line / Pie / Scatter / Area / Other] |
| Chart title (if visible) | [Title text] |
| X-axis label | [Label + unit] |
| Y-axis label | [Label + unit] |
| Number of series | N |
| Legend categories | [List] |
| Data period (if time-based) | [Start — End] |
2. Extracted Data Table
| [X axis] | [Series 1] | [Series 2] | ... |
|---|---|---|---|
| [Value] | [Value] | [Value] |
3. Confidence Levels
For each data point or series, flag confidence:
- High confidence: data points where the value is clearly readable against gridlines or labels
- Medium confidence: data points where the value is interpolated between gridlines
- Low confidence: data points where the value is ambiguous or overlaps with other elements
Low-confidence points should be explicitly listed — not silently included in the main table.
4. Notable Observations
Observations that the data itself reveals:
- Peak value: [Value, when, in which series]
- Lowest value: [Value, when, in which series]
- Largest delta between series: [Details]
- Any anomalies or outliers visible in the chart
5. Reconstructed Source
CSV format for direct use:
[x_axis],[series_1],[series_2]
[value],[value],[value]
6. Assumptions and Caveats
- Grid resolution: [How precisely values could be read — e.g. "Y-axis has major gridlines every 10 units, minor every 2"]
- Interpolation used: [Any values that required estimating between gridlines]
- Unclear data: [Anything in the chart that could not be read reliably]
- Axis scale: [Linear/logarithmic/etc — note if not obvious]
7. Follow-up Options
Ask the user which of these they want:
- Rebuild the chart in a specified format (Excel formula, Python matplotlib, D3, etc.)
- Produce a narrative description of what the chart shows
- Compare this data against another chart or source
- Flag potentially misleading visual choices in the original (truncated axes, misleading scales, etc.)
Quality Checks
- Every extracted number specifies which series it belongs to
- Confidence levels are explicit for ambiguous points
- Low-confidence values are flagged separately, not silently included
- Assumptions about axis scale and interpolation are stated
- CSV output is clean and directly usable
Anti-Patterns
- Do not silently include low-confidence data points in the main table — flag them separately so the user knows which values to verify
- Do not assume a linear scale without confirming it — logarithmic axes make extracted values incorrect by orders of magnitude if misread
- Do not report extracted values with false precision — if the chart's Y-axis only shows gridlines every 10 units, a reported value of 37 is invented, not extracted
- Do not omit the assumptions and caveats section — partial image quality, overlapping bars, or unlabelled axes must be disclosed
Example Trigger Phrases
- "Extract the data from this chart"
- "Transcribe the numbers in this graph"
- "Turn this chart image into a spreadsheet"
- "Digitise this chart so I can rebuild it"
- "What are the exact values in this bar chart?"
Why This Works Better on Opus 4.7
Earlier models struggled with pixel-level data transcription from charts, often hallucinating values or misreading gridline positions. Opus 4.7 uses a higher image resolution (2576px vs 1568px) with coordinates mapping 1:1 to pixels, making chart data extraction reliable for practical use.
Related skills
Upload data files, get back analysis with charts, cleaned datasets, statistical reports, and dashboards.
Convert unstructured documents into LLM-ready structured data. Supports PDF, Word, PPT, and images; extracts paragraphs, formulas, tables, charts, and other...
分析用户粘贴的实验、调研、成绩统计等原始表格或纯数字数据;校验数据结构,推荐折线图、柱状图、饼图等适配图表,给出完整图表标题、横纵轴与图例说明,并解读趋势、组间差异和数据可支持的实验结论。用于用户要求选择图表、生成图表说明或图注、分析数据变化或对比差异、撰写论文结果段落,或把原始数据整理为可直接放在论文图表下方的中文说明时。
Convert unstructured documents into LLM-ready structured data. Supports PDF, Word, PPT, and images; extracts paragraphs, formulas, tables, charts, and other...
Generate charts from natural language or tabular data, recommend chart types, and export ECharts-based HTML or SVG. Use when users ask for one-sentence chart...