First: Finish up Abstract Data

Second: Interaction


Browsing and Filtering



Two more techniques for abstract data


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


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



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


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


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


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)


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....


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