# Multi-Dimensional Data Visualization

## Presentation on theme: "Multi-Dimensional Data Visualization"— Presentation transcript:

Multi-Dimensional Data Visualization
cs5764: Information Visualization Chris North

Review What is the Visualization Pipeline?
What are the steps of Visual Mapping? What is the Info Vis Mantra?

Information Types Multi-dimensional: databases,… 1D: timelines,…
2D: maps,… 3D: volumes,… Hierarchies/Trees: directories,… Networks/Graphs: web, communications,… Document collections: digital libraries,…

The Simple Stuff Univariate Bivariate Trivariate

Univariate Dot plot Bar chart (item vs. attribute) Tukey box plot
Histogram

Bivariate Scatterplot

Trivariate 3D scatterplot, spin plot 2D plot + size (or color…)

Multi-Dimensional Data
Each attribute defines a dimension Small # of dimensions easy Data mapping, Cleveland’s rules What about many dimensional data? n-D What does 10-D space look like?

Projection map n-D space onto 2-D screen

Glyphs: Chernoff Faces
10 Parameters: Head Eccentricity Eye Eccentricity Pupil Size Eyebrow Slope Nose Size Mouth Vertical Offset Eye Spacing Eye Size Mouth Width Mouth Openness

Glyphs: Stars d1 d2 d7 d3 d6 d4 d5

Scatterplot Matrix All pairs of attributes Brushing and linking

… on steroids

Different Arrangements of Axes
Axes are good Lays out all points in a single space “position” is 1st in Cleveland’s rules Uniform treatment of dimensions Space > 3D ? Must trash orthogonality

Parallel Coordinates Inselberg, “Multidimensional detective” (parallel coordinates)

Parallel Coordinates Bag cartesian (0,1,-1,2)= x y z w

Star Plot 1 8 2 7 3 4 6 5 Parallel Coordinates with axes arranged radially

Star Coordinates Kandogan, “Star Coordinates”

Star Coordinates Cartesian Star Coordinates
P=(v1,v2,v3,v4,v5,v6,v7,v8) P=(v1, v2) d1 d1 d8 d2 v3 v4 p v2 v1 v5 v2 d7 d3 d2 v1 p v8 v6 d6 v7 Mapping: Items → dots Σ attribute vectors → (x,y) d4 d5

Analysis

Table Lens Rao, “Table Lens”

FOCUS / InfoZoom Spenke, “FOCUS”

VisDB Keim, “VisDB”

Pixel Bar Charts Keim

Comparison of Techniques

Comparison of Techniques
ParCood: <1000 items, <20 attrs Relate between adjacent attr pairs StarCoord: <1,000,000 items, <20 attrs Interaction intensive TableLens: similar to par-coords more items with aggregation Relate 1:m attrs (sorting), short learn time Visdb: 100,000 items with 10 attrs Items*attrs = screenspace, long learn time, must query Spotfire: <1,000,000 items, <10 attrs (DQ many) Filtering, short learn time

Multi-Dimensional Functions
cs5764: Information Visualization Chris North

Multi-Dimensional Functions
y = f(x1, x2, x3, …, xn) Continuous: E.g. y = x13 + 2x22 - 9x3 Discrete: xi are uniformly sampled in a bounded region E.g. xi = [0,1,2,…,100] E.g. measured density in a 3D material under range of pressures and room temperatures.

Relations vs. Functions
R(A, B, C, D, E, F) All dependent variables (1 ind.var.?) Sparse points in multi-d dep.var. space Functions: R(A, B, C, D, E, F, Y) : Y=f(A, B, C, D, E, F) Many independent variables Defined at every point in multi-d ind.var. space (“onto”) Huge scale: 6D with 10 samples/D = 1,000,000 data points

Multi-D Relation Visualizations…
Don’t work well for multi-D functions Example: Parallel coords 5D func sampled on 1-9 for all ind.vars.

Typically want to encode ind.vars. as spatial attrs

1-D: Easy b = f(a) a  x b  y b a

2-D: Easy c = f(a, b) Height field: a  x b  y c  z c b a

2-D: Easy c = f(a, b) Heat map: a  x b  y c  color b a c

3-D: Hard d = f(a, b, c) Color volume: a  x b  y c  z d  color
What’s inside? c b a

4D: Really Hard y = f(x1, x2, x3, x4, …, xn)
What does a 5D space look like? Approaches: Hierarchical axes (Mihalisin) Nested coordinate frames (Worlds within Worlds) Slicing (HyperSlice) Radial Focus+Context (PolarEyez, Sanjini)

Hierarchical Axes 1D view of 3D function: (Mihalisin et al.)
f(x1, x2, x3) x3 x2 x1

as in TableLens 5D 9 samp/D

Hierarchical Axes 2D view of 4D function (using heat maps)
y = f(x1, x2, x3, x4) Discrete: xi = [0,1,2,3,4] x3 x1 x2 y = f(x1,x2,0,0) as color x4

Hierarchical Axes Scale? For more dimensions:
6d = 3 levels in the 2d approach 10 samples/d = 1,000,000 data points = 1 screen For more dimensions: zoom in on “blocks” reorder dimensions

5D 9 sample/D

Nested Coordinate Frames
Feiner, “Worlds within Worlds”

Slicing Van Wijk, “HyperSlice”

Radial Focus+Context Jayaraman, “PolarEyez” infovis.cs.vt.edu x3 x2 x4

Comparison Hierarchical axes (Mihalisin):
Nested coordinate frames (Worlds in Worlds) Slicing (HyperSlice): Radial Focus+Context (PolarEyez)

Comparison Hierarchical axes (Mihalisin):
< 6d by 10 samples, ALL slices, view 2d at a time Nested coordinate frames (Worlds in Worlds) < 5-8d, continuous, no overview, 3d hardware Slicing (HyperSlice): < 10d by 100 samples, 2d slices Radial Focus+Context (PolarEyez) < 10d by 1000 samples, overview, all D uniform, rays

cs5764: Information Visualization Chris North
Dynamic Queries cs5764: Information Visualization Chris North

HomeFinder

Spotfire

Limitations Scale: “AND” queries only
Scatterplot screen space: 10,000 – 1,000,000 Data structures & algorithms: < 50,000 Poor screen drawing on Filter-out A Solution: Query Previews! “AND” queries only Arbitrary boolean queries? A solution: Filter Flow

erases items underneath too
DQ Algorithm Idea: incremental algorithm only deal with data items that changed state When slider moves: Calculate slider delta Search in data structure for data items in the delta region If slider moved inward (filter out): Erase data items from visualization Else slider moved outward (filter in): Draw data items on visualization Problem! Overlapped items, erases items underneath too

DQ Data Structures (1) Sorted array of the data for each slider
Need counter for each data item = # sliders that filter it Attribute Explorer visualizes these counters too! O(delta) Year: Delta

DQ Data Structures (2) Multi-dimensional data structure
E.g.: K-d tree, quad-tree, … Recursively split space, store in tree structure Enables fast range search, O()

DQ Data Structures (2) Multi-dimensional data structure
E.g.: K-d tree, quad-tree, … Recursively split space, store in tree structure Enables fast range search, O(logn) Delta

Erasure Problem Each pixel has counter = number of items Z-buffer?
Can visualize this for density! Z-buffer? Redraw local area only

Filter-Flow Betty Catherine Edna Freda Grace Hilda Judy Marcus Tom

Influence/Attribute Explorer
Tweedie, Spence, “Externalizing Abstract Mathematical Models” (Influence/Attribute Explorer)

Query Previews Doan, “Query Previews”