Visual Encoding Design
CSE 442 - Data Visualization
Jeffrey Heer University of Washington
Review: Expressiveness & Effectiveness / APT
Choosing Visual Encodings
Assume k visual encodings and n data attributes. We would like to pick the “best” encoding among a combinatorial set of possibilities of size (n+1)k
Principle of Consistency
The properties of the image (visual variables) should match the properties of the data.
Principle of Importance Ordering
Encode the most important information in the most effective way.
Design Criteria [Mackinlay 86]
Expressiveness
A set of facts is expressible in a visual language if
the sentences (i.e. the visualizations) in the language express all the facts in the set of data, and only the facts in the data.
Effectiveness
A visualization is more effective than another visualization if the information conveyed by one visualization is more readily perceived than the information in the other visualization.
Design Criteria Translated
Tell the truth and nothing but the truth
(don’t lie, and don’t lie by omission)
Use encodings that people decode better
(where better = faster and/or more accurate)
Effectiveness Rankings [Mackinlay 86]
QUANTITATIVE
Position Length Angle Slope Area (Size) Volume
Density (Value) Color Sat Color Hue Texture Connection Containment Shape
ORDINAL
Position Density (Value) Color Sat Color Hue Texture Connection Containment Length
Angle Slope Area (Size) Volume Shape
NOMINAL
Position Color Hue Texture Connection Containment
Density (Value) Color Sat Shape
Length Angle Slope Area Volume
Effectiveness Rankings [Mackinlay 86]
QUANTITATIVE
ORDINAL
Position
Density (Value)
Position Length Angle
Slope Area (Size) Volume
Density (Value) Color Sat Color Hue Texture Connection Containment Shape
Color Sat Color Hue Texture Connection Containment Length Angle
Slope Area (Size) Volume Shape
NOMINAL
Position Color Hue Texture Connection Containment
Density (Value) Color Sat Shape
Length Angle Slope Area Volume
Effectiveness Rankings [Mackinlay 86]
QUANTITATIVE
Position Length Angle Slope Area (Size) Volume
Density (Value) Color Sat Color Hue Texture Connection Containment Shape
ORDINAL
Position Density (Value) Color Sat Color Hue Texture Connection Containment Length
Angle Slope Area (Size) Volume Shape
NOMINAL
Position Color Hue Texture Connection Containment
Density (Value) Color Sat Shape
Length Angle Slope Area Volume
Mackinlay’s Design Algorithm
APT - “A Presentation Tool”, 1986
User formally specifies data model and type
Input: ordered list of data variables to show
APT searches over design space
Test expressiveness of each visual encoding Generate encodings that pass test
Rank by perceptual effectiveness criteria
Output the “most effective” visualization
APT
Automatically generate chart for car data
Input variables:
Design Examples
Color Encoding
Area Encoding
Gene Expression Time-Series [Meyer et al ’11]
Color Encoding Position Encoding
Artery Visualization [Borkin et al ’11]
2D
3D
92%
Rainbow Palette Diverging Palette
62%
71%
39%
Other Visual Encoding Channels?
A Design Space of Visual Encodings
Mapping Data to Visual Variables
Assign data fields (e.g., with N, O, Q types) to visual channels (x, y, color, shape, size, …) for a chosen graphical mark type (point, bar, line, …).
Additional concerns include choosing appropriate encoding parameters (log scale, sorting, …) and data transformations (bin, group, aggregate, …).
These options define a large combinatorial space, containing both useful and questionable charts!
1D: Nominal
Raw Aggregate (Count)
Expressive?
Raw Aggregate (Count)
1D: Quantitative
Raw
Aggregate (Count)
Expressive?
Raw
Aggregate (Count)
Raw (with Layout Algorithm)
Treemap
Bubble Chart
Box Plot
Violin Plot
high
Aggregate (Distributions)
middle 50%
low
median
2D: Nominal x Nominal
Raw Aggregate (Count)
2D: Quantitative x Quantitative
Raw Aggregate (Count)
2D: Nominal x Quantitative
Raw Aggregate (Mean)
Treemap
Bubble Chart
Beeswarm Plot
Raw (with Layout Algorithm)
3D and Higher
Two variables [x,y] Can map to 2D points. Scatterplots, maps, …
Third variable [z]
Often use one of size, color, opacity, shape, etc. Or, one can further partition space.
What about 3D rendering?
[Bertin]
Administrivia
A2: Exploratory Data Analysis
Use visualization software to form & answer questions
First steps:
Step 1: Pick domain & data Step 2: Pose questions Step 3: Profile the data Iterate as needed
Create visualizations Interact with data Refine your questions
Author a report
Screenshots of most insightful views (10+)
Include titles and captions for each view
Due by 11:59pm
Monday, Oct 16
Multidimensional Data
Visual Encoding Variables
Position (X) Position (Y) Size
Value Texture
Color Orientation Shape
~8 dimensions?
Example: Coffee Sales
Sales figures for a fictional coffee chain
Sales Profit Marketing
Product Type Market
Q-Ratio Q-Ratio Q-Ratio
N {Coffee, Espresso, Herbal Tea, Tea}
N {Central, East, South, West}
Encode “Sales” (Q) and “Profit” (Q) using Position
Encode “Product Type” (N) using Hue
Encode “Market” (N) using Shape
Encode “Marketing” (Q) using Size
Trellis Plots
A trellis plot subdivides space to enable comparison across multiple plots.
Typically nominal or ordinal variables are used as dimensions for subdivision.
Small Multiples
[MacEachren ’95, Figure 2.11, p. 38]
Small Multiples
[MacEachren ’95, Figure 2.11, p. 38]
Scatterplot Matrix (SPLOM)
Scatter plots for pairwise comparison of each data dimension.
Multiple Coordinated Views
select high salaries
avg career HRs vs avg career hits
(batting ability)
avg assists vs avg putouts (fielding ability)
how long in majors
distribution of positions played
Linking Assists to Position
Parallel Coordinates
Parallel Coordinates [Inselberg]
Parallel Coordinates [Inselberg]
Visualize up to ~two dozen dimensions at once
Between adjacent axes: line crossings imply neg. correlation, shared slopes imply pos. correlation.
Full plot can be cluttered. Interactive selection
can be used to assess multivariate relationships.
Highly sensitive to axis scale and ordering. Expertise required to use effectively!
Radar Plot / Star Graph
“Parallel” dimensions in polar coordinate space Best if same units apply to each axis
Dimensionality Reduction
Dimensionality Reduction
Principal Components Analysis
PCA of Genomes [Demiralp et al. ’13]
Time Curves [Bach et al. ’16]
Wikipedia “Chocolate” Article
U.S. Precipitation over 1 Year
Many Reduction Techniques!
Principal Components Analysis (PCA) Multidimensional Scaling (MDS) Locally Linear Embedding (LLE)
t-Dist. Stochastic Neighbor Embedding (t-SNE) Isomap
Auto-Encoder Neural Networks Topological Methods
…
distill.pub
Visual Encoding Design
Use expressive and effective encodings Avoid over-encoding
Reduce the problem space
Use space and small multiples intelligently Use interaction to generate relevant views
Rarely does a single visualization answer all questions. Instead, the ability to generate appropriate visualizations quickly is critical!