为什么重要
Plot2Code 在 ChartMimic 之外补了一个关键维度:能不能利用执行反馈自我修正。它的评测不是「生成一次就打分」,而是允许模型把代码跑起来、看到渲染结果、跟参考图比对、再改一版。
这个设定更贴近真实工作流——没有人指望模型一次写对图表代码,真正的价值在于「跑一下看看哪里不对,再改」。Plot2Code 的基线结果显示,加上执行反馈后模型的成绩有明显提升,而这个提升幅度本身就是一个有价值的观测指标:不同模型利用反馈的能力差异很大。
对数据侧的意义:这类任务天然产生多轮修正轨迹(初始代码 → 渲染 → 差异 → 修正代码),是训练「会用工具的模型」的高质量数据。相比只用最终正确代码训练,带修正过程的轨迹能教会模型如何根据视觉反馈调整。
构建方式
- 收集 matplotlib 官方示例与科研图表,保留可执行的参考代码
- 为每个任务提供参考图(渲染结果)与目标代码
- 评测流程设计为闭环:模型生成代码 → 执行渲染 → 与参考图比对 → 允许修正 → 再评分
- 记录初始得分与修正后得分,用于衡量「反馈利用效率」
- 同时考察代码可执行性与视觉还原度
任务示例
第一轮:模型看到一张带误差棒的折线图,生成初始代码——但误差棒颜色设错、图例缺失。 执行反馈:渲染出来的图与参考图比对,发现两处差异。 第二轮:模型修正颜色与图例,重新渲染——通过。
评分同时记录「一次通过率」与「修正后通过率」,两者的差值反映模型利用反馈的能力。
最新进展
- 论文显示:引入执行反馈后成绩显著提升,且提升幅度在不同模型间差异明显——这是 Plot2Code 相对其他视觉转代码基准的独特价值
- 与 ChartMimic 形成互补:ChartMimic 覆盖广(32 类图表),Plot2Code 更关注「修正闭环」
- 「渲染-比对-修正」的评测范式被后续的交互式代码生成工作沿用
关键发现
- 一次写对不是唯一标准:能利用反馈修正同样重要,且更贴近真实使用
- 反馈利用效率是可测的能力维度:不同模型的提升幅度差异,反映其「读图找差异」的能力
- 多轮轨迹是优质训练数据:修正过程比最终答案包含更多信息
- 与执行环境绑定:这类基准的评测成本高于纯静态比对,但信息量也更大