GoFish: A Grammar of More Graphics!

IEEE Transactions on Visualization & Computer Graphics (Proc. IEEE VIS), 2026

Abstract

Visualization grammars from ggplot2 to Vega-Lite are based on the Grammar of Graphics (GoG), our most comprehensive formal theory of visualization. The GoG helped expand the expressive gamut of visualization by moving beyond fixed chart types and towards a design space of composable operators. Yet, the resultant design space has surprising limitations, inconsistencies, and cliffs—even seemingly simple charts like mosaics, waffles, and ribbons fall out of scope of most GoG implementations. To author such charts, visualization designers must either rely on overburdened grammar developers to implement purpose-built mark types (thus reintroducing the issues of typologies) or drop to lower-level frameworks. In response, we present GoFish: a declarative visualization grammar that formalizes Gestalt principles (e.g., uniform spacing, containment, and connection) that have heretofore been complected in GoG constructs. These graphical operators achieve greater expressive power than their predecessors by enabling recursive composition: they can be nested and overlapped arbitrarily. Through a diverse example gallery, we demonstrate how graphical operators free users to arrange shapes in many different ways while retaining the benefits of high-level grammars like scale resolution and coordinate transform management. Recursive composition naturally yields an infinite design space that blurs the boundary between an expressive, low-level grammar and a concise, high-level one. In doing so, we point towards an updated theory of visualization, one that is open to an innumerable space of graphic representations instead of limited to a fixed set of “good” designs.

Bibtex

@article{2026-gofish
  title = {{GoFish: A Grammar of More Graphics!}},
  author = {Josh Pollock AND Arvind Satyanarayan},
  journal = {IEEE Transactions on Visualization \& Computer Graphics (Proc. IEEE VIS)},
  year = {2026},
  url = {https://vis.csail.mit.edu/pubs/gofish}
}
GoFish: A Grammar of More Graphics!

A scatterpie, flower chart, and balloon chart. Their specifications are closely related. The flower chart replaces the scatterpie’s Rect with a custom Petal and adds a stem. The balloon chart replaces the flower with a custom Balloon element and adds a Wavy coordinate transform.

Demo