Interaction
First: Finish up Abstract Data
Second: Interaction
Selection
Browsing and Filtering
Construction
Two more techniques for abstract data
Tree-maps
Spring simulations
Tree maps
Node maps to rectangle
Rectangle contains children, recursively
Scale of leaf maps to quantitative value
Drawing children
Alternate use of rows and columns during traversal of tree
First level uses row
Second level uses column
Tile children at each level in a grid
Variable sizes make for a trickier algorithm
Start at leaf and work up
Unless data structure already maintains sums
Utility of tree maps
Position encodes hierarchy location
Size encodes quantitative data
E.g., file size, age, volume
Static picture of whole
Difficult to map animation to changes in diagram
Adding one layer of hierarchy can completely changes subtree
Spring-based techniques
Originated with George Furnas, 1986
Also the originator of fisheye views
Analogies in neural networks and global search algorithms
Simulated annealing
Hill climbing (follow the gradient vector) can get trapped on local maximum
Gradient is local information, not global
Introduce noise to "hop out" of local maxima and find global maximum
Basic Approach
Edges simulate springs, minimize length
Nodes try to repel each other, maximize distance
Dynamic balance
Mouse can be used to induce force and change diagram
Damp forces over time to ensure stable model
Otherwise, a pendulum would never slow down
Why?
Non-planar graphs
No crossing in 3D
So long as no four nodes are co-planar
Any three nodes are necessarily co-planar, but a complete 3-node graph is planar, but a complete 4-node graph is not
"Fisheye views" of 3D
Variant: Hierarchical Directed Graphs
Graph where nodes can be grouped in levels
Edges go only one way: from one level to the next
Tree is a special case where each node has only one source
Parallel planes for levels
Axis perpendicular to planes good axis for rotation of view
If graph is tree, tends to produce cone tree
Leaf repulsion will propogate up to spread parents
Edges will cluster siblings
Interaction
Selection
More info on data points
Browsing and filtering
Range of data points
Search for values whose criteria are not easily formulated
Construction of visualizations
Editing parameters
Re-prioritizing data
Construction from scratch
Selection
Selecting visual rep of data point for more info
Most examples we've seen have been with mouse
Schneiderman: Sliders
Bier et al.: Magic Lenses
3D: other devices (Beshers & Feiner: DataGlove)
Uses include
Precision (what is the exact value?)
Showing additional dimensions (Worlds within Worlds)
Construction of new visualization
Sliders vs Magic Lenses
Slider: Quantitative or ordinal
Magic lens: Nominative
or quantitative or ordinal with additional controls, e.g. sliders
Slider: Not limited in spatial application
Magic lens: Strictly spatial
Slider: Indirect action on data
Magic lens: Direct action on data
Consider: Position, Position, Position
Browsing
Selecting sets (e.g., with sliders or lenses) leads to browsing data sets
Not the same as a query
Query: Looking for known quantity
Browsing: Looking for unknown -- serendipity
Queries
Typical: Boolean expression describing desired data
Either it matches or it doesn't
Result provides no context for the detail
Add in other techniques to return context (e.g., zoom on matches)
Schneiderman's sliders and scatter plots
Interactively building a query with < and >
Exposes how minor changes in query significantly change results
Enables user to refine until desired number of answers is obtained
Beginning of browsing
Looking for the unknown
Users may be unfamiliar with boolean expressions
Users may have insufficient specification
E.g., I don't know how far I'm willing to commute
Interactive browsing lets user explore range of specifications
Users may be unsure about priorities
E.g., Is price or location more important for my house?
Concrete demonstration of trade-offs helps users prioritize
Looking for vague things leads to surprise (i.e., new information)
Serendipity
Vannevar Bush: Associative memory
Information browsing: Spatially associative memory
Humans good at visual pattern recognition
Again, subconscious perceptual ability
Find useful patterns in the data not previously apparent
Related to fisheye views
Detail in context helps prevent pattern hiding
Literally, cannot miss the forest for the trees
But sometimes you need to prune....
Filtering
Browsing can lead to decisions on importance
Get rid of unimportant data (Tufte)
Reveal patterns obscured by false correlations
Browsing: Undirected search
Filtering: Directed search
Browsing: Serendipity
Filtering: Detection
Construction