Searching the Visual Style and Structure of D3 Visualizations

Enamul Hoque
York University

Maneesh Agrawala
Stanford University

Abstract

We present a search engine for D3 visualizations that allows queries based on their visual style and underlying structure. To build the engine we crawl a collection of 7860 D3 visualizations from the Web and deconstruct each one to recover its data, its data-encoding marks and the encodings describing how the data is mapped to visual attributes of the marks. We also extract axes and other non-data-encoding attributes of marks (e.g., typeface, background color). Our search engine indexes this style and structure information as well as metadata about the webpage containing the chart. We show how visualization developers can search the collection to find visualizations that exhibit specific design characteristics and thereby explore the space of possible designs. We also demonstrate how researchers can use the search engine to identify commonly used visual design patterns and we perform such a demographic design analysis across our collection of D3 charts. A user study reveals that visualization developers found our style and structure based search engine to be significantly more useful and satisfying for finding different designs of D3 charts, than a baseline search engine that only allows keyword search over the webpage containing a chart.

Paper PDF (5.5MB)

Video MP4 (87.7MB)

Live Demo

A beta version of the demo is available here. This demo is only tested with Google Chrome browser. Therefore using the Google Chrome is highly recommended.

D3 Deconstructor Code

The code for automatically deconstructing visualizing and storing the resulting deconstruction data is available here: https://github.com/enamulh/d3-deconstructor-v3

Bibtex

@inproceedings{hoque-vis-search-2019,
  title={Searching the Visual Style and Structure of D3 Visualizations},
  author={Hoque, Enamul and  Agrawala, Maneesh},
  booktitle={IEEE Transactions on Visualization and Computer Graphics (Proc IEEE InfoVis 2019)},
  year={2019},
  pages={1236-1245},
  volume={26},
  number={1},
  organization={IEEE}
}