Draco: Formalizing Visualization Design Knowledge as Constraints

Draco is a formal framework for representing design knowledge about effective visualization design as a collection of constraints. This knowledge can be applied with standard constraint solvers to recommend charts or explore the design space of visualization.

You can use Draco to find effective visualization designs in Vega-Lite. Draco's constraints are implemented in based on Answer Set Programming (ASP) and solved with the Clingo constraint solver. Draco can learn weights for the recommendation system directly from the results of graphical perception experiments.

Code Knowledge Base Online Editor JavaScript Module

Publications

Formalizing Visualization Design Knowledge as Constraints: Actionable and Extensible Models in Draco, InfoVis Best Paper, 2018

Draco: Representing, Applying & Learning Visualization Design Guidelines, Blog Post

Documentation

You can learn about the Draco knowledge base in the Draco code. Documentation about the APIs is coming soon.

People

Draco is being developed at the Interactive Data Lab at the University of Washington. The main contributors are: Dominik Moritz, Chenglong Wang, Greg L. Nelson, Halden Lin, Adam M. Smith, Bill Howe, and Jeffrey Heer.