Abstract Data

First: Logistics

Second: The paper

Quick review: Data structures

Ordinal data

Nominal data


Course status -- Definitely on

Please sign up if you haven't -- easier for department when questioned by the administration


Closed next week - no class
Paper due in class following week
Email instructor with questions

conner@cs.nyu.edu or me@nellardo.com

The Paper


10-20pp. hardcopy
Relevant illustrations

The topic

Choose an effective organizing principle for "two-dimensional visualizations"
Choose examples that demonstrate the effectiveness of your principle

"Two-dimensional": data or visualization?

Deliberately not limiting the domain of the paper

Purpose of "organizing principle" is to help make useful decisions: Possible questions:

Is this a good visualization?
Is it suited to the data?
Does it perform its task?
Is it robust in the face of errors?
How does it compare to alternatives?

An organizing principle

Card, Mackinlay, Schneiderman's model

Driven by perceptual science
Useful for experts, difficult to apply for novices
Ranking of factors by data category simple and useful


Performance metrics

Possible taxonomies

A taxonomy based on data

Category: Quantitative, Ordinal, Nominative

Quant: floating point, rational, integer

Ordinal: ordered enumerated type (like C), hierarchies (partial ordering)

Nom: element of a set, categories

A taxonomy based on rendering

Category: Scatter, bar, line, area
Example: Choosing graph from MSFT Excel

Performance metrics

Tufte: Less ink == better visualization

Oversimplification, but concrete and specific
Measuring clarity: presenting important data and nothing else

User study-based performance rankings

Arguably the "right" way to organize visualizations

Correlation with concrete standard

E.g., given data ranking and type, check Card's ranking
Suggests automated improvement suggestion


Young, cross-disciplinary field

Lots of opportunities for publishing, further research

Fred Brooks on Ph.D. topics....

Review: Graphs

General graph

Connectivity representation
Matrix representation

Additional attributes

Weighting, length, cost

Topological subtypes

Graph definition

Two sets: Set of nodes; Set of pairs of nodes

Sometimes ordered pairs (directed graph)
Sometimes additional attributes (color, weight)
Sometimes a bag -- implies multiple edges between two nodes

Alternative rep, if E is set of elts, weighted graph

Matrix of edges represented by length

Topological categories

Tree, forest (set of trees)

Partial ordering

"Cross-linked" tree

Hierarchical directed graph

Nodes separable into disjoint subsets
Strict ordering of subsets
Edges only from subset to its successor


Acyclic, Hamiltonian, bi-partite, strongly connected

Four techniques

Cone trees

Hyperbolic trees


Spring simulations

Cone trees

Use 3D to provide "natural" fisheye view

Map node to a cone

Children map to cone with vertex on edge of parent's base

Rotate cones to bring selected path to front

Animation crucial to tracking complicated structure

Best suited to branching factor ~7

Like 10Hz, common perceptual number: 7±2

Organization charts, file systems (sometimes....)

Cues to aid depth perception






Simple Tufte metric not for 3D

Wealth of cues needed to assist 3D perception

Not noticed in the real world
Subconscious, automatic perception

Each cue adds "ink" -- a more complicated picture can be easier to understand

Caveat: Based in perception
Caveat: Task-specific

Hyperbolic trees

Solve exponential growth of size with mathematical inverse

Map "star" drawing in a plane to hemisphere

Math is related to perspective projection, but appearance does not simulate perspective

Skew mapping to center on sub-nodes

Continuous shift of point on 2D plane
Can be animated

Distortion-based fisheye view

Straight edges become conic sections

Detail present around selected node

Context available from perimeter of circle

Handles high branching factor better, no overlap

Arguably harder to understand

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

First level uses row
Second level uses column

Tile children in a grid

Variable sizes make for a trickier algorithm

Utility of tree maps

Position encodes hierarchy location

Size encodes quantitative data


Difficult to map animation to changes in diagram

Adding one layer of hierarchy can completely changes subtree

Spring-based techniques

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