nvAgent: Automated Data Visualization from Natural Language via Collaborative Agent Workflow

Geliang Ouyang, Jingyao Chen, Zhihe Nie, Yi Gui, Yao Wan +2 more
2/7/2025
cs.CL

No official code found. Best implementation: geliang0114/nvAgent (20 stars, last commit 2025-03-06).

Abstract

Natural Language to Visualization (NL2Vis) seeks to convert natural-language descriptions into visual representations of given tables, empowering users to derive insights from large-scale data. Recent advancements in Large Language Models (LLMs) show promise in automating code generation to transform tabular data into accessible visualizations. However, they often struggle with complex queries that require reasoning across multiple tables. To address this limitation, we propose a collaborative agent workflow, termed nvAgent, for NL2Vis. Specifically, nvAgent comprises three agents: a processor agent for database processing and context filtering, a composer agent for planning visualization generation, and a validator agent for code translation and output verification. Comprehensive evaluations on the new VisEval benchmark demonstrate that nvAgent consistently surpasses state-of-the-art baselines, achieving a 7.88% improvement in single-table and a 9.23% improvement in multi-table scenarios. Qualitative analyses further highlight that nvAgent maintains nearly a 20% performance margin over previous models, underscoring its capacity to produce high-quality visual representations from complex, heterogeneous data sources.

View on arXivView PDF

Code Implementations(1)

geliang0114/nvAgentCommunity100%

a collaborative agent-based workflow designed for NL2Vis task

203HTML, PythonOct 30, 20241 years ago

Similar Papers

Cite this paper

@article{ouyang2025nvagent,
  title  = {nvAgent: Automated Data Visualization from Natural Language via Collaborative Agent Workflow},
  author = {Geliang Ouyang and Jingyao Chen and Zhihe Nie and Yi Gui and Yao Wan and Hongyu Zhang and Dongping Chen},
  year   = {2025},
  eprint = {2502.05036},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2502.05036v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2502.05036.svg)](https://codeofpaper.com/paper/2502.05036)

Discussion