ChartArena

July 7, 2026 · View on GitHub

面向图表族系、视觉场景与输出格式的综合性双语通用图表解析基准

English论文GitHub 仓库HuggingFace 数据集ModelScope 数据集

新闻

  • [2026.07.07] 🚀 我们新增了评测模型,覆盖更大范围的参数量与模型族系,并同步更新了 arXiv 论文,欢迎查看!
  • [2026.06.01] 📖 代码和数据已发布!

概览

ChartArena 是一个面向视觉语言模型图表解析(chart parsing)能力评测的综合性双语基准,覆盖了实际场景中图表的完整难度谱系。它涵盖八类图表族系:既包括数值类图表(柱状图、折线图、饼图、雷达图、箱线图、组合图),也包括结构类图表(流程图、思维导图),每一类都呈现在三种视觉场景(电子渲染、印刷照片、手绘照片)和两种语言(中文与英文)之下。

为了在输出格式互不兼容的模型之间实现公平比较,ChartArena 采用了一套格式无关的评测协议:将异构的预测结果归一化到两个标准语义空间:数值类图表的三元组视图(triple view)与结构类图表的有向图视图(directed graph view),并使用结构感知的指标进行评分。

任务覆盖对比

与现有的图表解析基准相比,ChartArena 在图表类型、视觉场景和语言三个维度上提供了最全面的覆盖,从而支持对图表解析进行真实且全面的评测。

BenchmarkDateSizeBarLinePieRadarBox PlotComb.FlowchartMind MapDigitalPrintedHand-drawnEnglishChinese
PlotQA-SE2019.0933,657
ChartQA-SE2022.031,509
MMC-Bench2023.111,063
ChartX-SE2024.021,152
ChartY2024.046,048
VG-DCU2024.043,044
ChartP-Bench2026.021,200
ParseBench2026.041,039
ExChart-Bench2026.043,600
ChartArena (ours)2026.052,400

目录

基准统计

项目详情
图表族系8 类(柱状图、折线图、饼图、雷达图、箱线图、组合图、流程图、思维导图)
图表大类数值类图表、思维导图、流程图
视觉场景3 种(电子渲染、印刷照片、手绘照片)
语言双语(中文与英文)

排行榜

我们评测了 26 个模型,涵盖通用多模态大模型、文档解析专用模型和图表专家模型三类。以 mAPhigh_{high} 为主要指标,分别报告 EN(英文)和 ZH(中文)得分,每个得分均在三种视觉场景上取平均。各类别内加粗表示该列最优结果。

完整排行榜(点击展开)

通用多模态大模型(General-Purpose MLLMs)

ModelDateBar (EN)Bar (ZH)Line (EN)Line (ZH)Pie (EN)Pie (ZH)Radar (EN)Radar (ZH)Box (EN)Box (ZH)Combo (EN)Combo (ZH)Flow (EN)Flow (ZH)Mind (EN)Mind (ZH)Avg (EN)Avg (ZH)
GPT-4o2024.0521.636.327.552.976.774.29.724.919.19.69.940.749.827.164.024.834.836.3
GPT-52025.0835.152.348.165.181.178.932.041.519.812.814.246.558.135.376.633.545.645.8
InternVL3.5-8B2025.0822.752.634.453.765.873.814.034.75.69.511.342.132.623.848.331.829.340.2
InternVL3.5-241B-A28B2025.0827.557.241.355.777.783.315.241.418.721.617.747.843.836.662.645.538.048.6
Qwen2.5-VL-7B-Instruct2025.0215.236.917.939.963.473.18.319.10.92.86.040.629.723.245.429.923.333.2
Qwen2.5-VL-72B-Instruct2025.0227.153.338.266.773.577.010.938.515.015.314.350.550.143.663.855.036.650.0
Qwen3-VL-8B-Instruct2025.1027.558.635.561.177.384.716.842.611.612.113.247.950.041.566.454.637.350.4
Qwen3-VL-235B-A22B-Instruct2025.1038.467.952.373.882.685.523.252.414.114.129.158.257.949.870.865.246.058.4
Qwen3.5-35B-A3B (thinking)2026.0246.265.360.377.689.788.425.257.842.250.631.556.962.556.575.170.954.165.5
GLM-4.5V2025.0733.561.451.770.581.283.119.743.132.437.421.252.544.739.666.243.743.853.9
Seed-1.8 (non-thinking)2025.1229.159.746.072.584.788.022.045.916.117.515.059.747.850.376.569.142.257.8
Seed-2.0 Pro (non-thinking)2026.0240.373.356.580.791.590.521.354.744.555.232.462.262.661.383.185.854.070.5
Kimi K2.5 (non-thinking)2026.0245.270.360.979.887.286.730.259.740.647.633.663.659.957.980.879.454.868.1
MiMo-V2-Omni2026.0331.156.941.566.487.085.819.746.119.130.319.454.757.151.076.664.643.957.0
Gemini 2.5 Pro2025.0346.076.556.577.688.687.317.553.010.222.128.757.662.157.871.767.147.762.4
Gemini 3.1 Pro2026.0257.978.767.085.392.595.131.862.732.545.239.770.365.663.186.885.259.273.2

文档解析多模态大模型(Document Parsing MLLMs)

ModelDateBar (EN)Bar (ZH)Line (EN)Line (ZH)Pie (EN)Pie (ZH)Radar (EN)Radar (ZH)Box (EN)Box (ZH)Combo (EN)Combo (ZH)Flow (EN)Flow (ZH)Mind (EN)Mind (ZH)Avg (EN)Avg (ZH)
dots.mocr (3B)2025.0728.340.941.860.168.878.320.343.124.116.026.947.126.220.628.719.633.140.7
PaddleOCR-VL (1B)2025.1031.849.343.051.657.575.214.429.011.720.721.354.0--------23.935.8
HunyuanOCR (1B)2025.1133.060.049.568.271.074.819.041.143.945.220.150.839.935.955.046.641.452.8

图表专家模型(Expert Chart Understanding Models)

ModelDateBar (EN)Bar (ZH)Line (EN)Line (ZH)Pie (EN)Pie (ZH)Radar (EN)Radar (ZH)Box (EN)Box (ZH)Combo (EN)Combo (ZH)Flow (EN)Flow (ZH)Mind (EN)Mind (ZH)Avg (EN)Avg (ZH)
ChartAst (13B)2024.015.2--4.2--0.3--1.5--0.3--0.0----------1.4--
ChartVLM (8.3B)2024.0211.25.311.54.312.98.22.15.00.70.44.14.4--------5.33.5
TinyChart (3B)2024.046.16.39.73.25.75.40.53.40.21.30.74.2--------2.93.0
ChartMoE (8B)2024.0918.724.414.722.315.048.53.716.12.71.65.119.54.0--4.1--8.516.7
ChartCoder (7B)2025.0123.212.622.019.634.316.75.513.95.411.43.75.15.6--1.0--12.69.9
RRVF (7B)2025.0735.866.541.554.351.675.316.640.314.714.123.561.236.432.468.463.836.051.0
MSRL (7B)2025.0832.745.235.234.341.267.925.948.011.213.016.735.223.212.431.018.827.134.3

任务定义

ChartArena 将图表分为三大类,每类对应一个默认提取任务:

图表类别示例默认任务
数值类图表柱状图 / 折线图 / 饼图 / 雷达图 / 箱线图 / 组合图 …SE_MD
思维导图(逻辑结构图)树状图 / 层级图SE_MD
流程图流程 / 工作流图SE_MERMAID
十一个提取任务(点击展开)
任务输出格式说明
SE_MDMarkdown 表格 / 列表数值类图表 → Markdown 表格;思维导图 → Markdown 多级列表
SE_JSONJSON包含 titlevalues 的结构化 JSON
SE_CSVCSV逗号分隔值
SE_CODEPython(matplotlib)将图表还原为可执行的 Python 代码
SE_SVGSVG将图表还原为 SVG 标记语言
SE_MERMAIDMermaid流程图 → Mermaid 图表语法
SE_GRAPHVIZGraphviz DOT流程图 → DOT 语言
SE_PLANTUMLPlantUML流程图 → PlantUML 语法
SE_DIAGRAMSdiagrams.net XML流程图 → draw.io XML
SE_D2D2流程图 → D2 图表语言
SE_CYTOSCAPECytoscape JSON流程图 → Cytoscape.js JSON

评分指标:mAP(map_strict / map_slight / map_high)和 EM(精确匹配)。

快速开始

1. 环境安装

git clone <this-repo>
cd ChartArena
pip install -r requirements.txt
# 可选:仅当使用 --api_type local_vllm 时需要
pip install vllm

2. 下载评测数据

数据(jsonl + 图片)以单一压缩包发布。请将其解压到 data/ 目录下:

data/
├── ChartArena.jsonl
└── images/...

jsonl 每一行的格式如下:

{
  "img_path": "images/xxx.png",
  "chart_type": "柱状图",
  "img_type": "电子印刷",
  "lang_type": "中文",
  "anno": "..."
}

img_path 是相对于 data/ 目录的相对路径,在整个流程中作为唯一主键使用。

3. 推理(Inference)

通过 --api_type 切换两种后端:openai_compat 支持任意 OpenAI 兼容 HTTP 服务(本地部署或公有云接口),local_vllm 支持进程内直接加载本地权重。推理支持断点续推,中断后重新运行同一命令会自动跳过已完成的样本。

后端详情与任务选择(点击展开)

(a) openai_compat — 任意 OpenAI 兼容 HTTP 服务

适用于 vllm serve / sglang / lmdeploy 等本地服务,也适用于符合 OpenAI Chat Completions 协议的公有云接口(OpenAI、Gemini、Claude、Together 等)。

python infer.py \
    --api_type openai_compat \
    --model_name Qwen2.5-VL-72B-Instruct \
    --base_url http://127.0.0.1:8000/v1 \
    --api_key EMPTY \
    --max_workers 64

(b) local_vllm — 进程内加载 vLLM,直接给本地权重路径

不需要先启动服务,脚本会通过 vllm.LLM 在进程内加载本地 checkpoint。

python infer.py \
    --api_type local_vllm \
    --model_path /path/to/Qwen2.5-VL-72B-Instruct \
    --tensor_parallel_size 4 \
    --max_model_len 32768

任务选择

默认每类图表跑一个任务。可通过 --task_data--task_logic--task_flowchart 覆盖(每个参数支持多个任务名):

# 数值类图表同时跑 SE_MD 和 SE_JSON,流程图跑 SE_MERMAID
python infer.py --api_type openai_compat --model_name ... --base_url ... \
    --task_data SE_MD SE_JSON \
    --task_flowchart SE_MERMAID

输出位置

每次运行会写入一个 jsonl:

infer_outputs/<model_tag>/results.jsonl

<model_tag> 默认取 --model_name / --model_path 的 basename,也可以用 --output_tag 显式覆盖。

4. 评分(Judging)

# 评分 infer_outputs/ 下的全部模型
python judge.py

# 只评分指定模型
python judge.py --models Qwen2.5-VL-72B-Instruct gemini-2.5-pro

# 强制重评某个任务(评分算法升级后刷新历史结果)
python judge.py --force_rejudge SE_MERMAID

输出到 judge_outputs/<model_tag>/results.jsonl。评分阶段为纯规则计算,速度很快。

5. 分析报表(Analysis)

python analyze.py
# → judge_outputs/results_analysis.xlsx

分数保留 3 位小数(例如 0.873)。

Excel 内容(点击展开)
  • 任务总览(第一个 Sheet)— 每个模型在每个 task 的总平均分
  • 各 task 分表 — 模型 × 数据文件的评分明细
  • 按图表类型拆分by_chart_type/)— 每个 task 一个 Excel,每个 chart_type 一个 Sheet
  • 详细分类结果detail_by_category/)— 按 (chart_type, img_type, lang_type) 细分的每模型每任务结果

6. 完整流程示例

# 1. 推理
python infer.py \
    --api_type openai_compat \
    --model_name Qwen2.5-VL-72B-Instruct \
    --base_url http://127.0.0.1:8000/v1

# 2. 评分
python judge.py

# 3. 生成 Excel 报表
python analyze.py

7. 代码结构

代码库围绕三阶段流程(推理 → 评分 → 分析)组织,包含可插拔的 API 后端、各格式独立的评分模块以及共享的指标工具。

完整目录结构(点击展开)
ChartArena/
├── README.md / README_zh.md
├── requirements.txt
├── data/                        # ← 数据下载到这里
├── infer_outputs/               # 推理结果(自动创建)
├── judge_outputs/               # 评分结果(自动创建)
├── apis/
│   ├── base.py                  # APIBase 抽象基类
│   ├── openai_compat.py         # OpenAI 兼容客户端
│   └── local_vllm.py            # 进程内 vLLM
├── methods/
│   ├── prompts.py               # prompt 模板
│   ├── context.py               # 上下文构建工具
│   ├── normalize.py             # 输出归一化
│   ├── scoring.py               # 评分入口
│   └── parsers/                 # 各格式输出解析器
├── metrics/
│   ├── SCRM.py                  # 核心 MAP / EM 指标
│   ├── tree_eval.py             # Markdown 列表评估
│   ├── mermaid_eval.py          # Mermaid 图表评估
│   ├── flowchart_common.py      # 流程图多格式评估
│   └── dsl_parsers/             # DSL 专项解析工具
├── utils/
│   ├── io.py                    # ResultWriter(线程安全增量写入器)
│   ├── signal_utils.py          # 友好响应 Ctrl+C
│   └── image_utils.py           # OpenAI 兼容 API 的 base64 编码
├── infer.py                     # 入口:推理
├── judge.py                     # 入口:规则评分
└── analyze.py                   # 入口:Excel 分析报表

引用

@article{peng2026chartarena,
  title   = {{ChartArena}: Benchmarking Chart Parsing across Languages, Scenarios, and Formats},
  author  = {Peng, Shangpin and Li, Gengluo and Wan, Xingyu and Zhang, Chengquan and Feng, Hao and Wu, Binghong and Shen, Huawen and Wang, Weinong and Cai, Ziyi and Tian, Zhuotao and Hu, Han and Ma, Can and Zhou, Yu},
  journal = {arXiv preprint arXiv:2606.01348},
  year    = {2026}
}

许可证

本基准仅供学术研究使用