Papers › PlotCoder: Hierarchical Decoding for Synthesizing Visualization Code in Programmatic Context

PlotCoder: Hierarchical Decoding for Synthesizing Visualization Code in Programmatic Context

1 Aug 2021ACL 2021 5archive 2025-07-28

Xinyun Chen, Linyuan Gong, Alvin Cheung, Dawn Song

Creating effective visualization is an important part of data analytics. While there are many libraries for creating visualization, writing such code remains difficult given the myriad of parameters that users need to provide. In this paper, we propose the new task of synthesizing visualization programs from a combination of natural language utterances and code context. To tackle the learning problem, we introduce PlotCoder, a new hierarchical encoder-decoder architecture that models both the code context and the input utterance. We use PlotCoder to first determine the template of the visualization code, followed by predicting the data to be plotted. We use Jupyter notebooks containing visualization programs crawled from GitHub to train PlotCoder. On a comprehensive set of test samples from those notebooks, we show that PlotCoder correctly predicts the plot type of about 70{\%} samples, and synthesizes the correct programs for 35{\%} samples, performing 3-4.5{\%} better than the baselines.

PaperPDFCode

Code

jungyhuk/plotcoder officialmentioned in paperpytorch report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

Not run by Syntology. Nothing on this page verifies that the listed code works.

Tasks

Decoder

Results from the paper archive 2025-07-28

No leaderboard rows for this paper in the archive.

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections