Visual representations of abstract data to amplify cognition.
- General process of visualizing data
- Understanding Task
- Prepare Dataset
- understanding dataset
- data cleansing
- aggregation, calculation
- rank, filter
- Decide Representation
- Create Visualization
- visual encodings
- data binding
- layout composition
Analysis vs. Presentation: explore the data or build visualization
Elegant design requires us to think about a theory of graphics, not charts.
-
Template Editors: Choose a bar chart and bind data
- Products: Excel, Wyn, ...
- Less Expressivity: inevitably offer fewer charts than people want
- More Complexity: hard to reuse objects that similarly in different charts
-
Expressive Tools: Code or paint manually
- Products: D3.js (for developer), Adobe illustrator (for designer), ...
- High Skill Required: long time to learn
- Slow & Tedious: long time to create a visualization
-
Visual Builders: Composed by rectangles and two lines
- Products: Lyra, Charticulator, Data Illustrator, ...
- More Expressivity: compare to Template Editors
- More Learnability: compare to Expressive Tools
- More Efficiency: easy to create a visualization
- Axes: These are the lines that go up and down (the vertical Y axis), or left and right (the horizontal X axis)
- Vector: Each row in the table
- Dimension: Each column in the table, a named attribute whose values have a particular meaning
- Categorical: Represents characteristics. like person's gender, language etc.
- Nominal: Represent discrete units and are used to label variables.(no order)
["Female", "Male"]
- Ordinal: Represent discrete and ordered units.
["Elementary", "High School", "College"]
- Nominal: Represent discrete units and are used to label variables.(no order)
- Numerical
- Continuous: Values can’t be counted but it can be measured. like the number of heads in 10 coins.
- Discrete: Values can’t be measured but it can be counted. like height of a person.
- Scale
- Just like the scale of a map, but more general
- A function that transforms data variable values into visual property
- With two scales (x and y), we have the basis for a scatter plot.
- Scales can represent visual encoding, such as colors, shapes, or size
- Axes refer to spatial scales and Legends refer to non-spatial scales
- Mark
- Marks are the basic visual building block of a visualization
- Graphical elements such as shapes(rect, line), images and texts
- Glyph
- A group of marks to be repeated by data
Chase the expanding horizon of what visualizations are capable of, and learn from other visualization design approaches to produce better products
- Marks
- Rectangle: bar chart, stacked bar chart, ...
- Line: line
- Text: label
- Data Binding
- Generating glyphs based on data.(repeat)
- Specify proper scales between data fields and mark properties.
- Layout
- Relative Layout: locate by drag and drop
- Coordinate System: cartesian, polar, custom?
An interactive, graphical Visualization Design Environment (VDE)
-
About
- From UW Interactive Data Lab (began in 1990s, notable projects includes Tableau, D3.js)
- Vega
- Lyra Builder
-
Features
- Data transformations
- Visible scales, scale inference
- Uses the Vega grammar as both an internal model and external file format.
-
Vega Grammar - Let's Make A Bar Chart Tutorial
- Scales: Mapping data to visual value. (mathematical function)
- Quantitative Scales: continuous -> continuous.
- Discrete Scales: discrete -> discrete.
- Discretizing Scales: continuous -> discrete.
- Axes: Mapping data to Cartesian coordinates.(like scales)
- Transforms: Data Processor. (filter, sort, rank...)
- Aggregate: sum, group, count, ...
- Collect: sort
- Filter: filter
- Window: running/moving
- Regression: trendline
- Marks: Encode data using geometric primitives
- Area: area chart
- Arc: pie chart
- Line: line chart
- Rect: bar chart
- Rule: axis ticks, grid lines
- Text: label, title
- Scales: Mapping data to visual value. (mathematical function)
-
Implementation
- Declarative JSON Specification
- Reactive Dataflow Graph (parser)
- Process Data
- Handle Interaction
- Construct Graph: bind -> build (one mark per vector) -> evaluate (encode mark)
Interactive Layout-Aware Construction of Bespoke Charts
-
About
- From Microsoft Research
- Compatible with Power BI as a custom visual
- Site: Charticulator
-
Features
- Individual glyph editor
- One vector per glyph
- Implicit scale based on data type. (categorical -> group, numerical -> location)
-
Implementation
- Data Types
Create infographics and data visualizations without programming
-
About
- From Adobe and the Georgia Institute of Technology
- Inspiration: Bret Victor - Drawing Dynamic Visualizations
- Site: Data Illustrator
-
Features
- Direct manipulation
- Core Operations: repeat and partition
Product | Scale Visibility | A Glyph Represent |
---|---|---|
Lyra | Visible | One Vector |
Charticulator | Implicit | One Vector |
Data Illustrator | Implicit | One / More |
- Scale Visibility
- Visible scales, are lack of learnability, bring more expressivity, and vice versa. (lyra, mapX in charticulator)
- Implicit scales make new added scale more ambiguous - is it a new scale? or an existing one? (DI)
- Generate scale function automatically during data binding would be helpful. (all three)
- Shared scales link individual glyphs together to produce visualization. (y-axis in charticulator, proper label position in DI)
- A Glyph Represent
- A glyph represent one vector means dataset need to fit builder. (transform in Lyra, groupBy in Charticulator plotSegment)
- A dynamic data table panel would be helpful (Lyra, DI)
- Data Types in Statistics
- Introducing d3-scale
- A Guide to Guides: Axes & Legends in Vega
- Bret Victor - Drawing Dynamic Visualizations
- Third Wave Data Visualization
- The Grammar Of Graphics
- Lyra: An Interactive Visualization Design Environment
- Reactive Vega: A Streaming Dataflow Architecture for Declarative Interactive Visualization
- Charticulator: Interactive Construction of Bespoke Chart Layouts
- Data Illustrator: Augmenting Vector Design Tools with Lazy Data Binding for Expressive Visualization Authoring
- Critical Reflections on Visualization Authoring Systems-PDF
- Critical Reflections on Visualization Authoring Systems-Table
- La Lettura - VISUAL DATA