Critical Reflections on Visualization Authoring Systems

Supplemental Material

Unified Terminology

Common Term Lyra Data Illustrator Charticulator
Mark Graphical elements such as shapes (rect, arc, line), symbols, images and texts Mark Shape, Text and Image Mark
Path Point Points on a path which describes a shape Anchor Point
Path Segment Line or curve segments on a path which describes a shape Segment
Handle Auxiliary graphical element on marks and collections to facilitate resizing, rotating and changing gaps Handle Handle Handle
Anchor Auxiliary graphical element to facilitate the specification of relative positions of marks Connector Anchor (green dot)
Link Lines or bands that connect marks/glyphs Link
Glyph A group of marks to be repeated by data. Users can specify the layout of marks in a glyph. A glyph can have zero, one, or more marks, and has it own margin and bounding box Layer/Group Mark Group Glyph
Collection Mark/glyph instances generated by data Mark Collection Plot Segment
Peer Mark/glyph instances that are generated together with the current selected mark/glyph Mark instances Peer
Scale A function that transforms data variable values into visual property values, see the scale function in d3.js Scale Scale Scale
Axis Visual representation of spatial scales Axis Axis Axis + Width/Height Legend
Legend Visual representation of non-spatial scales Legend (color, shape, size) Legend (color, shape size, stroke width) Legend (color, width/height)
Guide Auxiliary graphical elements that facilitate drawing and alignment * Guide
Scaffold A layout construct that stacks glyphs along a certain direction Scaffold
Layout Predefined functions/algorithms that specify the positions of marks/glyphs/collections Layout Layout Scaffold + Sub-layout (overlapping, stacking, grid, circle packing)
* Lyra uses “guide” to refer to axes and legends together.

Summary of Main Components for the Three Systems

Video clips illustrate how to create a version of the Wall Street Journal's A Field Guide to Red and Blue America, originally designed by Randy Yeip, Stuart A. Thompson and Will Welch. Click on a thumbnail to watch the corresponding video clip.
Lyra Data Illustrator Charticulator
Mark Instantiation & Customization
predefined marks only
drag from toolbar
custom vector shapes
draw with Pen Tool; manipulate path points & segments using Direct Selection Tool
predefined marks only
drag from toolbar; draw in glyph editor
Glyph Composition
create layers
group marks
compose in glyph editor
Instantiation of Path Points & Path Segments
map data values to point x, y positions
partition line marks; draw with Pen tool
connect glyphs using the Linking tool
Links between Glyphs
add a force-directed layout transform
not supported
connect glyphs using the Linking tool
Data Scoping for Glyphs
one or more tuples per glyph
no user action needed for one tuple per glyph; “group by” for multiple tuples per glyph
one or more tuples per glyph
repeat or partition
one or more tuples per glyph
no user action needed for one tuple per glyph; “group by” for multiple tuples per glyph
Mapping Data Values to Visual Properties
drag data fields to property inspector or drop zone
choose data field from drop-down menu
perform either method
Scales
all D3/Vega scales
a scale is created when a data binding is applied; a scale can be created manually, and exists independently from data binding
scales for categorical, temporal, and numerical data
a scale is created when a data binding is applied; users choose whether to reuse or merge a scale from a previous data binding
scales for categorical, temporal, and numerical data
a scale is created when a data binding is applied; by default, reuses a scale from a previous data binding
Axes & Legends
an axis or legend is created when a data binding is applied; they can be created independently from scales; properties are customized in configuration panel
an axis or a legend is created when a data binding is applied; they can be manipulated through on-canvas interaction, which changes the underlying scale
an axis or a legend is customized through configuration panel; a legend needs to be explicitly added through a button-click
Relative Layout
drag a target mark to a host mark’s anchor
specify through grouping, distribution, and alignment
specify through anchors, guides, handles, margins, and alignment
Layout in a Collection
stacking, force-directed, cartographic projections, and pie charts
add a data transformation via button-click
grid and stacking
apply repeat/ partition actions
grid, stacking, and circle packing
use scaffolds and sub-layouts to position glyphs
Nested Layout
“group” marks are created when dragging data fields to “group” drop zones or applying a “group by” data transformation
concatenate repeat and partition actions in a flexible order
map categorical data columns to X & Y axes and apply sub-layout; embed a Charticulator template as a nested chart
Coordinate Systems
Cartesian
Cartesian
Cartesian, polar, and arbitrary curve
drag from toolbar into a plot segment
what is supported
how to achieve the desired outcome
* In Lyra, a user specifies layouts via data transformations.

Supplemental material for “Critical Reflections of Visualization Authoring Systems”, Arvind Satyanarayan, Bongshin Lee, Donghao Ren, Jeffrey Heer, John Stasko, John Thompson, Matthew Brehmer, and Zhicheng Liu