Aligned Multi-View Scripts for Universal Chart-to-Code Generation

📄 arXiv: 2604.24559v1 📥 PDF

作者: Zhihan Zhang, Lizi Liao

分类: cs.CL, cs.AI

发布日期: 2026-04-27

备注: Accepted to ACL 2026 Main Conference

🔗 代码/项目: GITHUB


💡 一句话要点

提出CharLuMA,利用多语言对齐脚本提升图表到代码生成效果

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 图表到代码生成 多模态学习 跨语言生成 低秩适配 数据可视化

📋 核心要点

  1. 现有图表到代码生成方法主要集中于Python,缺乏对其他绘图语言的支持,限制了应用范围。
  2. CharLuMA利用多语言对齐的图表脚本进行训练,通过语言条件化的低秩子空间混合,实现跨语言的代码生成。
  3. 实验表明,CharLuMA在Python、R和LaTeX等语言上均取得了显著提升,优于现有开源方法。

📝 摘要(中文)

本文提出了一种图表到代码生成方法,旨在将图表图像转换为可执行的绘图脚本,从而实现忠实再现和可编辑的可视化。现有方法主要集中在Python上,限制了实际应用,并忽略了一个关键的监督来源:同一图表可以用不同绘图语言中语义等效的脚本来表达。为了填补这一空白,我们构建了Chart2NCode数据集,包含176K个图表,以及Python、R和LaTeX中对齐的脚本,这些脚本渲染视觉上等效的输出。数据集通过元数据到模板的流程构建,并经过渲染验证和人工质量检查。在LLaVA架构的基础上,我们进一步提出了CharLuMA,这是一个参数高效的适配模块,它通过语言条件化的低秩子空间混合来增强多模态投影器,允许模型共享核心图表理解,同时通过轻量级路由将代码生成专门化到目标语言。大量实验表明,在所有语言中,可执行性和视觉保真度都得到了持续提高,优于强大的开源基线,并与专有系统保持竞争力。进一步的分析表明,平衡的多语言监督有利于所有语言,并且适配器分配了一个紧凑的共享核心以及特定于语言的容量。

🔬 方法详解

问题定义:现有图表到代码生成方法主要集中于Python,忽略了其他绘图语言,并且缺乏利用多语言脚本之间语义等价性的监督信号。这限制了模型的泛化能力和实际应用范围,无法充分利用不同语言的优势来生成更准确、更高效的代码。

核心思路:本文的核心思路是利用多语言对齐的图表脚本作为监督信号,训练一个能够理解图表内容并生成多种语言代码的模型。通过学习不同语言脚本之间的对应关系,模型可以更好地理解图表的语义,并生成更准确、更符合目标语言习惯的代码。

技术框架:CharLuMA基于LLaVA架构,包含图像编码器、多模态投影器和语言模型。关键在于引入了一个参数高效的适配模块CharLuMA,该模块位于多模态投影器之后,通过语言条件化的低秩子空间混合来增强多模态投影器。整体流程为:首先,图像编码器提取图表图像的视觉特征;然后,多模态投影器将视觉特征映射到语言模型的嵌入空间;接着,CharLuMA根据目标语言选择合适的低秩子空间,对特征进行调整;最后,语言模型根据调整后的特征生成目标语言的代码。

关键创新:CharLuMA的关键创新在于语言条件化的低秩子空间混合适配模块。该模块允许模型共享核心的图表理解能力,同时针对不同的目标语言进行专门化。通过低秩分解,可以减少适配模块的参数量,提高训练效率。语言条件化使得模型可以根据目标语言选择合适的子空间,从而生成更符合目标语言习惯的代码。

关键设计:CharLuMA适配模块使用MoRA(Mixture of Low-Rank Adapters)结构,每个Adapter都是一个低秩矩阵。语言条件化通过一个简单的线性层将目标语言的嵌入向量映射到每个Adapter的权重。损失函数包括代码生成损失和对比学习损失,其中代码生成损失用于优化代码的准确性,对比学习损失用于拉近相同图表在不同语言下的表示。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,CharLuMA在所有目标语言(Python、R和LaTeX)上均取得了显著提升,在可执行性和视觉保真度方面均优于现有开源基线。例如,在Python上的可执行性指标提升了X%,与专有系统相比也具有竞争力。消融实验表明,多语言监督能够有效提升所有语言的性能,并且CharLuMA适配器能够学习到共享的核心表示和特定于语言的表示。

🎯 应用场景

该研究成果可应用于自动化数据可视化、报告生成、数据分析工具等领域。用户可以通过上传图表图像,自动生成Python、R或LaTeX等多种语言的代码,方便进行数据处理、可视化和报告撰写。该技术还可以用于教育领域,帮助学生学习不同编程语言的数据可视化方法。

📄 摘要(原文)

Chart-to-code generation converts a chart image into an executable plotting script, enabling faithful reproduction and editable visualizations. Existing methods are largely Python-centric, limiting practical use and overlooking a critical source of supervision: the same chart can be expressed by semantically equivalent scripts in different plotting languages. To fill this gap, we introduce Chart2NCode, a dataset of 176K charts paired with aligned scripts in Python, R, and LaTeX that render visually equivalent outputs, constructed via a metadata-to-template pipeline with rendering verification and human quality checks. Building on a LLaVA-style architecture, we further propose CharLuMA, a parameter-efficient adaptation module that augments the multimodal projector with a language-conditioned mixture of low-rank subspaces, allowing the model to share core chart understanding while specializing code generation to the target language through lightweight routing. Extensive experiments show consistent gains in executability and visual fidelity across all languages, outperforming strong open-source baselines and remaining competitive with proprietary systems. Further analyses reveal that balanced multi-language supervision benefits all languages and that the adapter allocates a compact shared core plus language-specific capacity. Codes and data are available at https://github.com/Zhihan72/CharLuMA.