Multi-dimensional data vis - Visual Analytics Digital Library

Download Report

Transcript Multi-dimensional data vis - Visual Analytics Digital Library

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
• http://hesketh.com/schampeo/projects/Faces/chernoff.html
Glyphs: Stars
d1
d2
d7
d3
d6
d5
d4
Multiple Views with
Brushing-and-linking
Scatterplot Matrix
• All pairs
of attributes
• Brushing
and linking
•
http://noppa5.pc.helsinki.fi/koe/3d3.html
… 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
0
y
0
z
0
w
0
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
p
v4
v2
v1
v2
v5
d7
d3
d2
p
v1
v8
v6
v7
d6
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
• Relations:
• 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)
•
•
•
•
c
Height field:
ax
by
cz
b
a
2-D: Easy
• c = f(a, b)
•
•
•
•
b
Heat map:
ax
by
c  color
a
c
3-D: Hard
• d = f(a, b, c)
•
•
•
•
•
c
Color volume:
ax
by
cz
d  color
b
a
• What’s inside?
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:
f(x1, x2, x3)
x3
x2
x1
(Mihalisin et al.)
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?
• 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”
x2
x3
x4
• infovis.cs.vt.edu
x1
x5
-x5
-x1
-x4
-x2
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
Dynamic Queries
cs5764: Information Visualization
Chris North
HomeFinder
Spotfire
Limitations
• Scale:
• 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
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
Year:
Delta
• Need counter for each data item = # sliders that filter it
• Attribute Explorer visualizes these counters too!
• O(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
• 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”
•