RealChart2Code:基于真实数据和多任务评估推进图表到代码生成 RealChart2Code: Advancing Chart-to-Code Generation with Real Data and Multi-Task Evaluation
首个基于真实数据的大规模图表到代码基准,揭示VLMs在复杂可视化任务上的显著不足
前置知识
Vision-Language Models (VLMs)
视觉-语言模型是一类能够同时处理图像和文本输入的深度学习模型。这类模型通过在大规模图文数据上预训练,学习将视觉特征映射到语义空间。在图表到代码任务中,VLMs需要理解图表的视觉结构(如子图布局、颜色映射、轴配置),并将其转换为可执行的Python代码。代表性的VLMs包括GPT-5.1、Claude-4.5系列、Gemini系列以及开源的Qwen-VL、InternVL等。本文评估的14个模型参数规模从7B到241B不等。
本文的核心评估对象,理解VLMs的能力边界是本文的核心主题
Chart-to-Code Generation
图表到代码生成是指给定一张图表图像,模型需要生成能够重现该图表的可执行代码(如Matplotlib代码)。这个任务在实际开发中非常有价值:当用户获得一张静态图表但缺少原始代码时,可以通过该能力恢复底层的可视化逻辑,进而编辑、扩展或在不同上下文中复用图表。本文将此形式化为条件代码生成问题:给定源图表图像 $V$ 和伴随提示 $P$,LLM $F(·)$ 生成代码 $C = F(V, P)$。
本文研究的核心任务,指从图表图像反向工程生成可执行可视化代码的过程
Multi-panel Visualization
多面板可视化(也称复合图表)是指在同一图表中包含多个子图的可视化方式。与简单的单面板图表相比,多面板图表需要更复杂的空间布局规划(如GridSpec管理)、子图间的协调(共享轴、对齐)以及更密集的信息呈现。论文指出,虽然当前VLMs能够创建简单的单面板图表,但在处理多子图和复杂复合布局时表现显著下降,这正是RealChart2Code重点评估的能力。
本文聚焦的复杂图表类型,是当前VLMs的主要瓶颈所在
Iterative Refinement
迭代改进是指模型在多轮对话中根据用户反馈逐步修正代码的过程。这模拟了真实的开发工作流程,用户通常不会一次性生成完美代码,而是通过多次反馈来改进。本文的Chart Refinement任务要求模型修正预定义错误的图表,同时不引入新的错误。论文发现了一个关键失败模式:'Regressive Editing'(回归编辑),即模型在修正特定问题时,往往会在代码的其他部分引入新的错误。
本文评估的三个任务之一,测试模型在多轮对话中调试和修改代码的能力
Fleiss' κ and Cohen's κ
Fleiss' κ(Fleiss' kappa)是衡量多个评估者之间一致性的统计量,范围从-1到1,值越高表示一致性越好。Cohen's κ则衡量两个评估者之间的一致性。本文使用Fleiss' κ评估多智能体评判框架的内部一致性(Inter-Agent κ = 0.8239),使用Cohen's κ评估自动化评估与人类专家的对齐程度(平均0.83)。这些高分表明本文的自动化评估框架能够可靠地捕捉人类偏好。
用于验证自动化评估框架与人类判断一致性的统计指标
研究动机
当前VLMs在图表到代码生成领域的评估存在严重不足。现有基准(如Plot2Code、ChartMimic)主要关注简单的图表类型和单面板布局,要么依赖从互联网获取的预存图表-代码对(存在数据泄露风险),要么使用合成数据创建科学论文中的图表。这些基准缺乏评估模型在多轮对话中迭代改进代码的能力。具体而言,现有基准的图表通常只有单一子图,无法测试模型处理复杂布局和高信息密度的能力。此外,随着LLMs的快速发展,这些基准已不再足以评估模型处理涉及复杂真实世界数据和复杂图表结构的图表到代码任务的能力。
本文的目标是本文的目标是引入RealChart2Code,一个大规模基准测试,包含2,896个实例,系统评估VLMs在图表复制、图表再生和图表改进三个任务上的能力。该基准旨在解决现有评估方法的局限性,提供一个更真实、更复杂的测试平台,以准确评估当前VLMs在实际数据可视化任务中的真实能力水平。通过这一基准,作者希望揭示当前模型的性能瓶颈,为未来的研究提供明确的方向。
与已有工作不同的是,本文的独特切入角度在于三个方面:首先,完全基于真实数据源构建基准,从Kaggle严格筛选1,036个高质量数据集,包含3,271个原始数据文件和约8.6亿行数据;其次,引入显著更高的复杂度,包含50种不同的图表类型和复杂的复合布局;第三,首次系统性地评估从大规模原始数据生成图表的能力,并在多轮对话设置中评估迭代代码改进能力。这种设计填补了现有基准在真实性和复杂性方面的空白。
核心方法
本文的方法遵循一个清晰的技术路线:首先从Kaggle严格筛选高质量数据集,然后设计多样化的可视化任务,最后构建包含三个核心任务的评估基准。整体思路是通过真实数据和复杂图表结构来测试VLMs的实际能力。具体来说,作者从超过8,000个候选数据集中经过两阶段筛选(社区指标筛选和专家审核),最终选定1,036个高质量数据集。基于这些数据集,设计了1,016个独特的可视化场景,每个场景同时生成Chart Replication和Chart Reproduction两个任务实例。此外,通过手动注入错误创建了864个Chart Refinement任务。整个基准包含2,896个实例,覆盖8个高层领域和35个细粒度子主题。
本文的核心创新点在于四个维度的突破:第一,真实性——完全基于真实世界数据集构建,而非合成数据,确保评估贴近实际应用场景;第二,复杂性——包含50种图表类型和复杂复合布局,显著超越现有基准的简单图表类型;第三,交互性——引入多轮对话的图表改进框架,模拟真实开发工作流程;第四,多任务性——设计三个互补任务全面评估模型能力。与已有方法的本质区别在于,本文不仅测试模型的视觉到代码翻译能力,还测试其理解图表语义、处理大规模数据以及在迭代对话中保持代码一致性的能力。
方法步骤详情
方法的步骤可以分为四个阶段:(1)数据收集与过滤:从Kaggle收集超过8,000个候选数据集(包含100,000多个文件和300亿行数据),使用投票数、下载数和可用性评分进行初始筛选,再通过专家审核选定1,036个高质量数据集;(2)可视化任务设计:使用7个高层可视化意图类别和50种不同图表类型设计1,016个独特的可视化场景,确保任务多样性和复杂性;(3)代码实现:由5名专业Python开发人员使用Matplotlib及相关库为每个任务实现标准代码,经过严格的交叉验证同行评审流程;(4)错误注入:为Chart Refinement任务手动注入错误(包括视觉/样式错误、数据映射错误、图表类型错误),构建864个细化任务。每一步都包含严格的质量控制措施。
技术新颖性
本文的技术新颖性体现在多个方面。首先,这是首个系统评估大规模原始数据生成图表能力的基准,填补了该领域的空白。其次,引入了多轮对话的图表改进评估框架,这是现有基准所不具备的。第三,设计了细粒度的评估指标体系,包含8个视觉准确性指标(图表类型、空间布局、文本元素、轴配置、颜色方案、样式、组件完整性、数据模式一致性)和3个质量评估指标(视觉清晰度、构图平衡、排版质量)。第四,构建了基于多智能体投票系统的自动化评估框架,与人类专家的平均一致性达到0.83。
实验结果
本文对14个领先的VLMs在RealChart2Code基准上进行了全面评估,得出了几个关键发现。首先,Claude-4.5-Opus在专有模型中领先,总体得分8.2,在所有三个任务上表现稳定。Gemini-3-Pro-Preview紧随其后,得分8.1,甚至在基础的Chart Replication任务上获得最高分9.0。其次,开源模型与专有模型之间存在显著差距:开源模型中表现最好的是Qwen3-VL-235B和Intern-VL-3.5-241B,得分分别为3.6和3.4,不到顶级专有模型的一半。第三,在简单基准上表现良好的模型在RealChart2Code上表现不佳:例如,Qwen3-VL-235B在ChartMimic上得分超过75,但在RealChart2Code上得分骤降至3.6。这表明RealChart2Code能够更有效地区分模型能力。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| Chart Replication | Pass Rate (%) | Claude-4.5-Opus: 87.7% | ChartMimic: 98.5% | 更难的任务设计导致通过率下降 |
| Chart Reproduction | Pass Rate (%) | Claude-4.5-Opus: 86.1% | ChartMimic Customized: 100% | 需要处理大规模真实数据 |
| Chart Refinement | Pass Rate (%) | Claude-4.5-Opus: 91.2% | N/A (新任务) | 首次评估迭代改进能力 |
| Overall | AVG Score | Claude-4.5-Opus: 8.2 | Gemini-3-Pro-Preview: 8.1 | 在复杂任务上表现更稳定 |
局限与改进
本文的局限性体现在几个方面。首先,代码实现仅限于Matplotlib,虽然Matplotlib的细粒度和命令式特性能够有效反映模型的基本可视化理解和逻辑推理能力,但无法评估其他可视化库(如Plotly、Seaborn等)的能力。其次,虽然基于MLLM的评判器与人类专家显示强相关性,但仍可能无法检测到细微的视觉瑕疵,如轻微的元素重叠或精确的颜色差异。第三,评估仅覆盖Python生态系统,未涉及JavaScript(如D3.js)等其他可视化语言。此外,论文承认评估的图表改进任务使用了预定义错误,可能无法完全模拟真实开发中的所有错误类型。
独立分析的弱点
本文的弱点主要体现在以下几个方面。首先,基准测试的代码实现仅限于Matplotlib,这限制了评估的通用性,无法测试模型使用其他流行可视化库的能力。其次,Chart Refinement任务的错误注入是手动设计的,可能无法完全覆盖真实开发场景中的所有错误类型。第三,评估框架虽然与人类专家显示强相关性(Cohen's κ = 0.83),但仍可能遗漏细微的视觉瑕疵,如元素重叠的精确程度或颜色差异的细微程度。此外,论文未详细讨论不同图表类型的难度差异,某些图表类型(如热力图、散点图)可能比其他类型(如桑基图、树状图)更容易生成。
未来方向
作者提出了几个未来研究方向。首先,开发自动化管道生成高质量合成数据,以解决复杂训练示例的稀缺性问题,并提高模型在复杂布局上的泛化能力。其次,改进自动化评估框架,使其能够更精确地检测细微的视觉瑕疵,如元素重叠的精确程度和颜色差异。第三,扩展基准测试以涵盖更多可视化库和编程语言,如JavaScript的D3.js。此外,未来研究可以探索更复杂的交互式可视化场景,以及模型在真实开发工作流程中的长期表现。
复现评估
本文在可复现性方面表现良好。作者在GitHub上开源了基准测试代码(https://github.com/Speakn0w/RealChart2Code),并在Hugging Face上发布了数据集(https://huggingface.co/datasets/zjj1233/RealChart2Code)。评估环境使用Docker容器化,基于Python 3.13,预装了全面的数据分析和可视化库。所有评估在具有128个CPU核心和1024 GB RAM的服务器上进行,每个代码执行运行在无网络访问的容器中,并设置120秒超时。然而,完全复现需要访问专有模型的API(如GPT-5.1、Claude-4.5等),这可能带来一定的成本和技术门槛。
论文图表
图1展示了一个真实世界的例子,当呈现给模型一个复杂的多子图可视化请求时,模型生成了低质量的输出,并且在后续的细化过程中无法进行有效改进。
这张图直观地展示了当前VLMs在处理复杂图表时的失败模式,是理解本文研究动机的关键。
图6展示了不同模型(GPT-5.1、Qwen3-VL-235B、Gemini-3-Pro-Preview、Claude-4.5-Opus)在失败案例中的错误类型分布,包括语法和执行错误、布局和结构失败、数据映射错误、指令忽视。
这张图揭示了开源模型和专有模型在错误模式上的显著差异,是理解模型局限性的关键。
图8展示了模型生成的代码虽然正确实现了单个子图的绘制逻辑,但未能使用高级布局管理器(如GridSpec),导致子图过度拥挤和元素重叠。
这个案例揭示了模型在全局空间规划推理方面的不足。