CSE 442 - Data Visualization Visual Encoding...

83
CSE 442 - Data Visualization Visual Encoding Design Jeffrey Heer University of Washington

Transcript of CSE 442 - Data Visualization Visual Encoding...

Page 1: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

CSE 442 - Data Visualization

Visual Encoding Design

Jeffrey Heer University of Washington

Page 2: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

A Design Space of Visual Encodings

Page 3: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

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!

Mapping Data to Visual Variables

Page 4: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

1D: NominalRaw Aggregate (Count)

Page 5: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Expressive?Raw Aggregate (Count)

Page 6: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

1D: QuantitativeRaw Aggregate (Count)

Page 7: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Expressive?Raw Aggregate (Count)

Page 8: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Raw (with Layout Algorithm)

Treemap Bubble Chart

Aggregate (Distributions)

Box Plot Violin Plot

middle 50%

low highmedian

Page 9: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

2D: Nominal x NominalRaw Aggregate (Count)

Page 10: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

2D: Quantitative x QuantitativeRaw Aggregate (Count)

Page 11: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

2D: Nominal x QuantitativeRaw Aggregate (Mean)

Page 12: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Treemap Bubble Chart

Beeswarm Plot

Raw (with Layout Algorithm)

Page 13: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

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?

3D and Higher

[Bertin]

Page 14: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Other Visual Encoding Channels?

Page 15: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Encoding Effectiveness

Page 16: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Effectiveness Rankings [Mackinlay 86]QUANTITATIVE ORDINAL NOMINAL Position Position Position Length Density (Value) Color Hue Angle Color Sat Texture Slope Color Hue Connection Area (Size) Texture Containment Volume Connection Density (Value) Density (Value) Containment Color Sat Color Sat Length Shape Color Hue Angle Length Texture Slope Angle Connection Area (Size) Slope Containment Volume Area Shape Shape Volume

Page 17: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Effectiveness Rankings [Mackinlay 86]QUANTITATIVE ORDINAL NOMINAL Position Position Position Length Density (Value) Color Hue Angle Color Sat Texture Slope Color Hue Connection Area (Size) Texture Containment Volume Connection Density (Value) Density (Value) Containment Color Sat Color Sat Length Shape Color Hue Angle Length Texture Slope Angle Connection Area (Size) Slope Containment Volume Area Shape Shape Volume

Page 18: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Effectiveness Rankings [Mackinlay 86]QUANTITATIVE ORDINAL NOMINAL Position Position Position Length Density (Value) Color Hue Angle Color Sat Texture Slope Color Hue Connection Area (Size) Texture Containment Volume Connection Density (Value) Density (Value) Containment Color Sat Color Sat Length Shape Color Hue Angle Length Texture Slope Angle Connection Area (Size) Slope Containment Volume Area Shape Shape Volume

Page 19: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Color Encoding

Page 20: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Area Encoding

Page 21: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Effectiveness RankingsQUANTITATIVE ORDINAL NOMINAL Position Position Position Length Density (Value) Color Hue Angle Color Sat Texture Slope Color Hue Connection Area (Size) Texture Containment Volume Connection Density (Value) Density (Value) Containment Color Sat Color Sat Length Shape Color Hue Angle Length Texture Slope Angle Connection Area (Size) Slope Containment Volume Area Shape Shape Volume

Page 22: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Gene Expression Time-Series [Meyer et al ’11]

Color Encoding Position Encoding

Page 23: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Effectiveness RankingsQUANTITATIVE ORDINAL NOMINAL Position Position Position Length Density (Value) Color Hue Angle Color Sat Texture Slope Color Hue Connection Area (Size) Texture Containment Volume Connection Density (Value) Density (Value) Containment Color Sat Color Sat Length Shape Color Hue Angle Length Texture Slope Angle Connection Area (Size) Slope Containment Volume Area Shape Shape Volume

Page 24: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Artery Visualization [Borkin et al ’11]

Rainbow Palette Diverging Palette

2D

3D

92%62%

71%39%

Page 25: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Effectiveness RankingsQUANTITATIVE ORDINAL NOMINAL Position Position Position Length Density (Value) Color Hue Angle Color Sat Texture Slope Color Hue Connection Area (Size) Texture Containment Volume Connection Density (Value) Density (Value) Containment Color Sat Color Sat Length Shape Color Hue Angle Length Texture Slope Angle Connection Area (Size) Slope Containment Volume Area Shape Shape Volume

Page 26: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Scales & Axes

Page 27: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Include Zero in Axis Scale?

Government payrolls in 1937 [How To Lie With Statistics. Huff]

Page 28: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Include Zero in Axis Scale?

Yearly CO2 concentrations [Cleveland 85]

Page 29: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Include Zero in Axis Scale?Compare Proportions (Q-Ratio)

Compare Relative Position (Q-Interval)

Violates Expressiveness Principle!

Page 30: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Axis Tick Mark Selection

What are some properties of “good” tick marks?

Page 31: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Axis Tick Mark Selection

Simplicity - numbers are multiples of 10, 5, 2 Coverage - ticks near the ends of the data Density - not too many, nor too few Legibility - whitespace, horizontal text, size

Page 32: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

How to Scale the Axis?

Page 33: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

One Option: Clip Outliers

Page 34: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Clearly Mark Scale Breaks

Well-marked scale break [Cleveland 85]Poor scale break [Cleveland 85]

Violates Expressiveness Principle!

Page 35: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Scale Break vs. Log Scale

[Cleveland 85]

Scale Break Log Scale

Page 36: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Scale Break vs. Log Scale

Both increase visual resolution Scale break: difficult to compare (cognitive — not perceptual — work) Log scale: direct comparison of all data

Page 37: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Linear Scale vs. Log Scale

MSFT

MSFT0

10

2030

6040

0

10

20

30

60

50

40

50

Linear Scale

Log Scale

Page 38: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Linear Scale vs. Log Scale

MSFT

MSFT0

10

2030

6040

0

10

20

30

60

50

40

50

Linear Scale Absolute change

Log Scale Small fluctuations Percent change d(10,20) = d(30,60)

Page 39: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

When To Apply a Log Scale?

Address data skew (e.g., long tails, outliers) Enables comparison within and across multiple orders of magnitude.

Focus on multiplicative factors (not additive) Recall that the logarithm transforms × to +! Percentage change, not absolute value.

Constraint: positive, non-zero values Constraint: audience familiarity?

Page 40: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Aspect Ratio

Page 41: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

William S. Cleveland The Elements of Graphing Data

Page 42: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

William S. Cleveland The Elements of Graphing Data

Page 43: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Banking to 45° [Cleveland]

Two line segments are maximally discriminable when their average absolute angle is 45°

Insight: to optimize the aspect ratio, bank to 45°

To facilitate perception of trends, maximize the discriminability of line segment orientations

Page 44: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Straight line -> 45° Ellipse -> Circle

Alternative: Minimize Arc Length while holding area constant [Talbot et al. 2011]

Page 45: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Other Aspect Ratio Banking MethodsTalbot‘11

Page 46: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

A Good Compromise Arc-length banking produces aspect ratios in-between those produced by other methods.

[Talbot et al. 2011]

Page 47: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

CO2 Measurements William S. Cleveland Visualizing Data

Aspect Ratio = 1.17

Aspect Ratio = 7.87

Trends may occur at different scales! Apply banking to the original data or to fitted trend lines. [Heer & Agrawala ’06]

Page 48: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Regression Lines

Page 49: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

[The Elements of Graphing Data. Cleveland 94]

Page 50: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

[The Elements of Graphing Data. Cleveland 94]

Page 51: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

[The Elements of Graphing Data. Cleveland 94]

Page 52: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

[The Elements of Graphing Data. Cleveland 94]

Page 53: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

How well does the curve fit the data?

Transforming Data

[Cleveland 85]

Page 54: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Plot vertical distance from best fit curve Residual graph shows accuracy of fit

Plot the Residuals

[Cleveland 85]

Page 55: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Multiple Plotting Options

[Cleveland 85]

Plot model in data space Plot data in model space

Page 56: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Administrivia

Page 57: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

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

A2: Exploratory Data Analysis

Due by 11:59pm

Monday, Apr 22

Page 58: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Multidimensional Data

Page 59: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Position (X) Position (Y) Size Value Texture Color Orientation Shape

~8 dimensions?

Visual Encoding Variables

Page 60: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Sales figures for a fictional coffee chain

Sales Q-Ratio Profit Q-Ratio Marketing Q-Ratio Product Type N {Coffee, Espresso, Herbal Tea, Tea} Market N {Central, East, South, West}

Example: Coffee Sales

Page 61: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Encode “Sales” (Q) and “Profit” (Q) using Position

Page 62: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Encode “Product Type” (N) using Hue

Page 63: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Encode “Market” (N) using Shape

Page 64: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Encode “Marketing” (Q) using Size

Page 65: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

A trellis plot subdivides space to enable comparison across multiple plots.

Typically nominal or ordinal variables are used as dimensions for subdivision.

Trellis Plots

Page 66: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

[MacEachren ’95, Figure 2.11, p. 38]

Small Multiples

Page 67: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Small Multiples

[MacEachren ’95, Figure 2.11, p. 38]

Page 68: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Scatter plots for pairwise comparison of each data dimension.

Scatterplot Matrix (SPLOM)

Page 69: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

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

Page 70: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Parallel Coordinates

Page 71: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Parallel Coordinates [Inselberg]

Page 72: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Visualize up to ~two dozen dimensions at once 1. Draw parallel axes for each variable 2. For each tuple, connect points on each axis 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!

Parallel Coordinates [Inselberg]

Page 73: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Radar Plot / Star Graph

“Parallel” dimensions in polar coordinate space Best if same units apply to each axis

Page 74: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Dimensionality Reduction

Page 75: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

http://www.ggobi.org/

Dimensionality Reduction

Page 76: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

1. Mean-center the data.

2. Find ⊥ basis vectors that maximize the data variance.

3. Plot the data using the top vectors.

Principal Components Analysis

Page 77: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

PCA of Genomes [Demiralp et al. ’13]

Page 78: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Time Curves [Bach et al. ’16]

Wikipedia “Chocolate” Article

U.S. Precipitation over 1 Year

Page 79: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Principal Components Analysis (PCA) t-Dist. Stochastic Neighbor Embedding (t-SNE) Uniform Manifold Approx. & Projection (UMAP) Auto-Encoder Neural Networks Multi-dimensional Scaling (MDS) Isomap …

We’ll discuss these further in a future lecture!

Many Reduction Techniques!

Page 80: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

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!

Visual Encoding Design

Page 81: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

B O N U S T O P I C

Chernoff Faces

Page 82: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to
Page 83: CSE 442 - Data Visualization Visual Encoding Designcourses.cs.washington.edu/courses/cse512/19sp/lectures/... · 2019. 4. 15. · Assign data fields (e.g., with N, O, Q types) to

Observation: We have evolved a sophisticated ability to interpret faces.

Idea: Map data variables to facial features.Do we perceive facial cues in an uncorrelated way? Are they separable? (Hint: No!)

This is an example of nD “glyph” encodings.

Chernoff Faces