You are on page 1of 44

Contents Defining visualization (vis)

Visualization Analysis & Design •



Ch 1. What's Vis, and Why Do It?
Ch 4. Analysis: Four Levels for Validation


Ch 13. Reduce Items and Attributes
Ch 14. Embed: Focus+Context
Computer-based visualization systems provide visual representations of datasets
designed to help people carry out tasks more effectively.
Visualization Analysis & Design
All Book/Teaching Slides •

Ch 2. What: Data Abstraction
Ch 3. Why: Task Abstraction


Ch 15. Analysis Case Studies
Wrapup
• Ch 5. Marks and Channels • Big Picture & Other Synthesis What's Vis, and Why Do It? (Ch 1)
• Ch 6. Rules of Thumb • Further Reading
Tamara Munzner
• Ch 7. Arrange Tables • Design Study Methodology
Department of Computer Science
• Ch 8. Arrange Spatial Data • Next Steps
University of British Columbia
• Ch 9. Arrange Networks and Trees • In Class Exercise
All Book/Teaching Slides • Ch 10. Map Color and Other Channels Tamara Munzner
Last change: 4 Oct 2021 • Ch 11. Manipulate View Department of Computer Science
www.cs.ubc.ca/~tmm/talks.html#vadallslides @tamaramunzner • Ch 12. Facet into Multiple Views University of British Columbia
2 @tamaramunzner 4

Defining visualization (vis) Why have a human in the loop? Why have a human in the loop? Why have a human in the loop?
Computer-based visualization systems provide visual representations of datasets Computer-based visualization systems provide visual representations of datasets Computer-based visualization systems provide visual representations of datasets Computer-based visualization systems provide visual representations of datasets
designed to help people carry out tasks more effectively. designed to help people carry out tasks more effectively. designed to help people carry out tasks more effectively. designed to help people carry out tasks more effectively.
Visualization is suitable when there is a need to augment human capabilities Visualization is suitable when there is a need to augment human capabilities
Why?... rather than replace people with computational decision-making methods. rather than replace people with computational decision-making methods.

• don’t need vis when fully automatic solution exists and is trusted
• many analysis problems ill-specified
– don’t know exactly what questions to ask in advance
• possibilities
– long-term use for end users (ex: exploratory analysis of scientific data)
– presentation of known results (ex: New York Times Upshot)
– stepping stone to assess requirements before developing models
– help automatic solution developers refine & determine parameters
5 6 7 – help end users of automatic solutions verify, build trust 8

Why use an external representation? Why use an external representation? Why depend on vision? Why represent all the data?
Computer-based visualization systems provide visual representations of datasets Computer-based visualization systems provide visual representations of datasets Computer-based visualization systems provide visual representations of datasets Computer-based visualization systems provide visual representations of datasets
designed to help people carry out tasks more effectively. designed to help people carry out tasks more effectively. designed to help people carry out tasks more effectively. designed to help people carry out tasks more effectively.

• external representation: replace cognition with perception • external representation: replace cognition with perception • human visual system is high-bandwidth channel to brain • summaries lose information, details matter
Anscombe’s Quartet
– confirm expected and find unexpected patterns
– overview possible due to background processing
– assess validity of statistical model Identical statistics
• subjective experience of seeing everything simultaneously
x mean 9
• significant processing occurs in parallel and pre-attentively
x variance 10
• sound: lower bandwidth and different semantics y mean 7.5
– overview not supported y variance 3.75
• subjective experience of sequential stream x/y correlation 0.816

• touch/haptics: impoverished record/replay capacity


– only very low-bandwidth communication thus far
[Cerebral:Visualizing MultipleAnscombe’s
Experimental Conditions
Quartet:on Rawa Graph
Data
with Biological Context. Barsky, Munzner, Gardy, and Kincaid. IEEE
1
TVCG (Proc. InfoVis) 14(6):1253-1260, 2008.] 2 3 4
[Cerebral:Visualizing Multiple Experimental Conditions on a Graph
with Biological Context. Barsky, Munzner, Gardy, and Kincaid. IEEE
TVCG (Proc. InfoVis) 14(6):1253-1260, 2008.]
• taste, smell: no viable record/replay devices
9 10 11 12
X Y X Y X Y X Y

Why represent all the data? What resource limitations are we faced with? Why analyze? Why analyze? SpaceTree TreeJuxtaposer
• imposes structure on • imposes structure on
Computer-based visualization systems provide visual representations of datasets Vis designers must take into account three very different kinds of resource limitations:
designed to help people carry out tasks more effectively. those of computers, of humans, and of displays. huge design space huge design space
–scaffold to help you think –scaffold to help you think
• summaries lose information, details matter
Anscombe’s Quartet • computational limits systematically about choices systematically about choices
– confirm
Mean expected and find unexpected patterns –analyzing existing as stepping stone –analyzing existing as stepping stone
Variance – computation time, system memory
–Correlation
assess validity of statistical model Identical statistics
to designing new to designing new
x mean 9 • display limits
–most possibilities ineffective for –most possibilities ineffective for
x variance 10 – pixels are precious & most constrained resource [SpaceTree: Supporting Exploration in Large
particular task/data combination particular task/data combination
[TreeJuxtaposer: Scalable Tree Comparison Using
Node Link Tree, Design Evolution and Empirical Focus+Context With Guaranteed Visibility. ACM Trans. on
y mean 7.5 – information density: ratio of space used to encode info vs unused whitespace
Evaluation. Grosjean, Plaisant, and Bederson.
Proc. InfoVis 2002, p 57–64.]
Graphics (Proc. SIGGRAPH) 22:453– 462, 2003.]

y variance 3.75
• tradeoff between clutter and wasting space
x/y correlation 0.816
• find sweet spot between dense and sparse
• human limits
– human time, human memory, human attention

13 14 15 16
Why analyze? SpaceTree TreeJuxtaposer Analysis framework: Four levels, three questions Analysis framework: Four levels, three questions
• imposes structure on
• domain situation • domain situation
huge design space
– who are the target users? – who are the target users?
– scaffold to help you think Visualization Analysis & Design domain
• abstraction domain
systematically about choices abstraction
– translate from specifics of domain to vocabulary of vis
– analyzing existing as stepping stone
to designing new Analysis: Nested Model (Ch 4) • what is shown? data abstraction
• why is the user looking at it? task abstraction
– most possibilities ineffective for [SpaceTree: Supporting Exploration in Large
particular task/data combination
[TreeJuxtaposer: Scalable Tree Comparison Using
Node Link Tree, Design Evolution and Empirical Focus+Context With Guaranteed Visibility. ACM Trans. on
Evaluation. Grosjean, Plaisant, and Bederson. Graphics (Proc. SIGGRAPH) 22:453– 462, 2003.]
What? Why? How? Proc. InfoVis 2002, p 57–64.]

Tree Actions SpaceTree


Present Locate Identify Encode Navigate Select Filter Aggregate

Tamara Munzner
Targets TreeJuxtaposer Department of Computer Science
Path between two nodes Encode Navigate Select Arrange
University of British Columbia [A Multi-Level Typology of Abstract Visualization Tasks. Brehmer and Munzner. IEEE TVCG 19(12):2376-2385, 2013 (Proc. InfoVis 2013). ]
17 @tamaramunzner [A Nested Model of Visualization Design and Validation. Munzner. IEEE TVCG 15(6):921-928, 2009 (Proc. InfoVis 2009). ] 19 [A Nested Model of Visualization Design and Validation. Munzner. IEEE TVCG 15(6):921-928, 2009 (Proc. InfoVis 2009). ] 20

Analysis framework: Four levels, three questions Analysis framework: Four levels, three questions Nested model Nested model
• domain situation • domain situation • downstream: cascading effects • downstream: cascading effects
– who are the target users? – who are the target users? • upstream: iterative refinement
domain domain
• abstraction • abstraction
abstraction abstraction
– translate from specifics of domain to vocabulary of vis – translate from specifics of domain to vocabulary of vis Domain situation Domain situation
• what is shown? data abstraction • what is shown? data abstraction
idiom idiom
• why is the user looking at it? task abstraction • why is the user looking at it? task abstraction Data/task abstraction Data/task abstraction
algorithm
• idiom • idiom
– how is it shown? – how is it shown? Visual encoding/interaction idiom Visual encoding/interaction idiom
• visual encoding idiom: how to draw • visual encoding idiom: how to draw
• interaction idiom: how to manipulate • interaction idiom: how to manipulate Algorithm Algorithm
• algorithm
– efficient computation
[A Multi-Level Typology of Abstract Visualization Tasks. Brehmer and Munzner. IEEE TVCG 19(12):2376-2385, 2013 (Proc. InfoVis 2013). ] [A Multi-Level Typology of Abstract Visualization Tasks. Brehmer and Munzner. IEEE TVCG 19(12):2376-2385, 2013 (Proc. InfoVis 2013). ]
[A Nested Model of Visualization Design and Validation. Munzner. IEEE TVCG 15(6):921-928, 2009 (Proc. InfoVis 2009). ] 21 [A Nested Model of Visualization Design and Validation. Munzner. IEEE TVCG 15(6):921-928, 2009 (Proc. InfoVis 2009). ] 22 [A Nested Model of Visualization Design and Validation. Munzner. IEEE TVCG 15(6):921-928, 2009 (Proc. InfoVis 2009). ] 23 [A Nested Model of Visualization Design and Validation. Munzner. IEEE TVCG 15(6):921-928, 2009 (Proc. InfoVis 2009). ] 24

Why is validation difficult? Why is validation difficult? Why is validation difficult? Why is validation difficult?
• different ways to get it wrong at each level • solution: use methods from different fields at each level • solution: use methods from different fields at each level • solution: use methods from different fields at each level
Domain situation Domain situation Domain situation
Observe target users using existing tools Observe target users using existing tools Observe target users using existing tools
Domain situation
You misunderstood their needs
Data/task abstraction Data/task abstraction Data/task abstraction

Data/task abstraction
Visual encoding/interaction idiom Visual encoding/interaction idiom Visual encoding/interaction idiom
You’re showing them the wrong thing Justify design with respect to alternatives Justify design with respect to alternatives design Justify design with respect to alternatives

Visual encoding/interaction idiom Algorithm computer Algorithm computer Algorithm


Measure system time/memory Measure system time/memory technique-driven Measure system time/memory technique-driven
The way you show it doesn’t work science science
Analyze computational complexity Analyze computational complexity work Analyze computational complexity work
Algorithm Analyze results qualitatively Analyze results qualitatively cognitive Analyze results qualitatively
Your code is too slow Measure human time with lab experiment (lab study) Measure human time with lab experiment (lab study) psychology Measure human time with lab experiment (lab study)
Observe target users after deployment ( ) Observe target users after deployment ( ) Observe target users after deployment ( )
Measure adoption Measure adoption Measure adoption

[A Nested Model of Visualization Design and Validation. Munzner. IEEE TVCG 15(6):921-928, 2009 (Proc. InfoVis 2009). ] 25 [A Nested Model of Visualization Design and Validation. Munzner. IEEE TVCG 15(6):921-928, 2009 (Proc. InfoVis 2009). ] 26 [A Nested Model of Visualization Design and Validation. Munzner. IEEE TVCG 15(6):921-928, 2009 (Proc. InfoVis 2009). ] 27 [A Nested Model of Visualization Design and Validation. Munzner. IEEE TVCG 15(6):921-928, 2009 (Proc. InfoVis 2009). ] 28

Why is validation difficult? Why is validation difficult? Avoid mismatches Avoid mismatches
• solution: use methods from different fields at each level • solution: use methods from different fields at each level
Domain situation Domain situation problem-driven work Domain situation Domain situation
anthropology/ Observe target users using existing tools anthropology/ Observe target users using existing tools Observe target users using existing tools Observe target users using existing tools
(design study)
ethnography ethnography
Data/task abstraction Data/task abstraction Data/task abstraction Data/task abstraction
lab studies do not
confirm task abstraction
Visual encoding/interaction idiom Visual encoding/interaction idiom Visual encoding/interaction idiom Visual encoding/interaction idiom
design Justify design with respect to alternatives design Justify design with respect to alternatives Justify design with respect to alternatives Justify design with respect to alternatives
computational benchmarks
computational benchmarks do not confirm idiom design
computer Algorithm computer Algorithm Algorithm Algorithm
Measure system time/memory technique-driven Measure system time/memory technique-driven Measure system time/memory
do not confirm idiom design Measure system time/memory
science Analyze computational complexity work science Analyze computational complexity work Analyze computational complexity Analyze computational complexity
cognitive Analyze results qualitatively cognitive Analyze results qualitatively Analyze results qualitatively Analyze results qualitatively
psychology Measure human time with lab experiment (lab study) psychology Measure human time with lab experiment (lab study) Measure human time with lab experiment (lab study) Measure human time with lab experiment (lab study)

anthropology/ Observe target users after deployment ( ) anthropology/ Observe target users after deployment ( ) Observe target users after deployment ( ) Observe target users after deployment ( )
ethnography Measure adoption ethnography Measure adoption Measure adoption Measure adoption

[A Nested Model of Visualization Design and Validation. Munzner. IEEE TVCG 15(6):921-928, 2009 (Proc. InfoVis 2009). ] 29 [A Nested Model of Visualization Design and Validation. Munzner. IEEE TVCG 15(6):921-928, 2009 (Proc. InfoVis 2009). ] 30 [A Nested Model of Visualization Design and Validation. Munzner. IEEE TVCG 15(6):921-928, 2009 (Proc. InfoVis 2009). ] 31 [A Nested Model of Visualization Design and Validation. Munzner. IEEE TVCG 15(6):921-928, 2009 (Proc. InfoVis 2009). ] 32
Analysis examples: Single paper includes only subset of methods Analysis examples: Single paper includes only subset of methods Analysis examples: Single paper includes only subset of methods

MatrixExplorer. Henry and Fekete. InfoVis 2006. MatrixExplorer. Henry and Fekete. InfoVis 2006.

Visualization Analysis & Design Domain situation


observe and interview target users
justify encoding/interaction design
observe and interview target users
justify encoding/interaction design
Observe target users using existing tools
measure system time/memory measure system time/memory
qualitative result image analysis qualitative result image analysis
Data/task abstraction
Analysis: Nested Model (Ch 4) II Visual encoding/interaction idiom
LiveRAC. McLachlan, Munzner, Koutsofios, and
North. CHI 2008.
Justify design with respect to alternatives
observe and interview target users

Algorithm justify encoding/interaction design


Measure system time/memory
qualitative result image analysis
Analyze computational complexity
field study, document deployed usage
Analyze results qualitatively
Tamara Munzner Measure human time with lab experiment (lab study)

Department of Computer Science Observe target users after deployment ( ) What?


University of British Columbia Measure adoption
Datasets Attributes
@tamaramunzner 34 35 36

Analysis examples: Single paper includes only subset of methods Analysis examples: Single paper includes only subset of methods Data Typesexamples: Single paper includes only subset of methods
Analysis AttributeAnalysis
Types examples: Single paper includes only subset of methods
Items Attributes Links Positions Grids Categorical
MatrixExplorer. Henry and Fekete. InfoVis 2006. MatrixExplorer. Henry and Fekete. InfoVis 2006. Effectiveness of animation in trend visualization. MatrixExplorer. Henry and Fekete. InfoVis 2006. Effectiveness of animation in trend visualization. MatrixExplorer. Henry and Fekete. InfoVis 2006. Effectiveness of animation in trend visualization.
Robertson et al. InfoVis 2008. Robertson et al. InfoVis 2008. Robertson et al. InfoVis 2008.
observe and interview target users observe and interview target users observe and interview target users observe and interview target users
justify encoding/interaction design justify encoding/interaction design
Data and Dataset Types
justify encoding/interaction design justify encoding/interaction design
lab study, measure time/errors for operation lab study, measure time/errors for operation lab study, measure time/errors for operation
measure system time/memory measure system time/memory measure system time/memory measure system time/memory
qualitative result image analysis qualitative result image analysis Tables Networks &
qualitative result image analysis Fields Geometry Clusters, Ordered qualitative result image analysis

Trees McGuffin and Balakrishnan. InfoVis sets,


2005. lists
Interactive visualization of genealogical graphs.
Ordinal
Interactive visualization of genealogical graphs.
McGuffin and Balakrishnan. InfoVis 2005.
LiveRAC. McLachlan, Munzner, Koutsofios, and LiveRAC. McLachlan, Munzner, Koutsofios, and LiveRAC. McLachlan, Munzner, Koutsofios, and LiveRAC. McLachlan, Munzner, Koutsofios, and
North. CHI 2008. North. CHI 2008.
Items Items (nodes)
North. CHI 2008.
Grids Items
justify Items
encoding/interaction design
North. CHI 2008.
justify encoding/interaction design
observe and interview target users observe and interview target users observe and interview target users observe and interview target users

justify encoding/interaction design justify encoding/interaction design Attributes Links


justify encoding/interaction design
Positions Positions
qualitative result image analysis justify encoding/interaction design qualitative result image analysis
test on target users, get utility anecdotes test on target users, get utility anecdotes
qualitative result image analysis qualitative result image analysis Attributes
qualitative result image analysis Attributes Quantitative qualitative result image analysis

field study, document deployed usage field study, document deployed usage field study, document deployed usage field study, document deployed usage Flow map layout. Phan et al. InfoVis 2005.

justify encoding/interaction design


Dataset Types
An energy model for visual graph clustering. (LinLog) An energy model for visual graph clustering. (LinLog) An energy model for visual graph clustering. (LinLog) An energy model for visual graph clustering. (LinLog)
Noack. Graph Drawing 2003 Noack. Graph Drawing 2003 Noack. Graph Drawing 2003 Noack. Graph Drawing 2003
Ordering Direction computational complexity analysis
measure system time/memory
qualitative/quantitative image analysis qualitative/quantitative image analysis Tables Networks
qualitative/quantitative image analysis Fields (Continuous) qualitative/quantitative image analysis qualitative result image analysis
37 38
Sequential
39 40
Attributes (columns) Grid of positions

Three major datatypes Three


Items major datatypes Link
Cell Three major datatypes
(rows)
Node
Diverging
Dataset
Dataset Types
Types (item) Dataset
Dataset
Dataset
Dataset Types
Types
Types
Types
Cell containing value Attributes (columns)

Visualization Analysis & Design Tables


Tables Networks
Networks Fields
Fields
(Continuous)
(Continuous) Geometry
Value in cell
Geometry
(Spatial)(Spatial) Tables
Tables
Tables
Tables Networks
Networks
Networks
Networks FieldsFields
Fields
Fields
(Continuous)
(Continuous)
(Continuous)
Geometry
(Continuous) Geometry
Geometry
Geometry (Spatial)
(Spatial)(Spatial)
(Spatial)

Multidimensional
Attributes (columns)
Attributes Table
(columns) Trees Grid of positions
Grid of positions
Cyclic Attributes
Attributes (columns)
(columns)
Attributes
Attributes (columns)
(columns)
Grid of positions
Grid of Grid
positions
Gridof
ofpositions
positions

Items Link Items Items Link Link


Items Link Cell Items
Items Link
Link Cell Cell

Data Abstraction (Ch 2): In Brief


(rows) Cell Position (rows)(rows) Cell
Cell Position Position
(rows) Node Position (rows)
(rows) Node Node Position
Position
Node Node
Node
(item) (item) (item)
Cell containing value (item) Attributes (columns) Cell containing
Cell containing value value (item)
(item) Attributes (columns)
Attributes (columns)
Cell containing value Attributes (columns) Cell
Cellcontaining
containingvalue
value Attributes
Attributes(columns)
(columns)

Value in cell Value in cell Value in cell Value in cell


Value in cell Value
Valueinincell
cell
Multidimensional Table Trees Multidimensional Table Table
Multidimensional Trees Trees
Multidimensional Table Trees Multidimensional
MultidimensionalTable
Table Trees
Trees

Tamara Munzner Geometry (Spatial)


Value in cell Value in cell
Value in cell
Department of Computer Science Value in cell Value
Valueinincell
cell

University of British Columbia What?


@tamaramunzner 42 Position 43
Datasets Attributes
44

Data Types Attribute Types


What? Categorical
Three major datatypes Three major datatypes Attribute types
Items Attributes Links Positions Grids
Attributes Datasets
Data and Dataset Types
Attributes

Dataset Types Dataset Types Dataset Availability What? Data Types


Tables Networks & Fields
Attribute Types
Geometry
Categorical
Clusters, Ordered

Dataset
Dataset
Dataset Types
Types
Types Dataset Types Dataset
Dataset
Dataset Types
Types
Types Dataset Types Items Attributes Links Positions Grids
Trees sets, lists Ordinal

Attribute Types Items Items (nodes) Grids Items Items

TablesTypes
Dataset
Tables
Tables
Tables Networks
Networks
Tables
Networks
Networks FieldsFields
Networks
Fields
Fields
Spatial
(Continuous) Geometry
(Continuous) Geometry
Fields
Geometry
Geometry (Spatial)
(Spatial)(Spatial) Tables
Dataset
Tables
Geometry
Tables
Tables Types Networks
Networks
Tables
Networks
Networks FieldsFields
Networks
Fields
Fields
Spatial
(Continuous) Geometry
(Continuous) Geometry
Fields
Geometry
Geometry (Spatial)
(Spatial)(Spatial) Static
Geometry Dynamic
Data and Dataset Types Attributes Links Positions Positions

(Continuous)
(Continuous) (Continuous)(Spatial) (Spatial) (Continuous)
(Continuous) (Continuous)(Spatial) (Spatial)
Categorical Ordered Why? Tables Networks &
Trees
Fields Geometry
Attributes
Clusters,
Sets, Lists
AttributesOrdered

Ordinal
Quantitative

Attributes (columns) Grid of positions


Grid of Grid
positions Attributes (columns) Grid of positions
Grid of Grid
positions
Tables
Attributes (columns)
Attributes
Attributes (columns)
(columns) Networks
Attributes (columns) Fields (Continuous)
Gridof
ofpositions
positions Geometry
Grid of positions(Spatial) Tables
Attributes (columns)
Attributes
Attributes (columns)
(columns) Networks
Attributes (columns) Fields (Continuous)
Gridof
ofpositions
positions Geometry
Grid of positions(Spatial) Items Items (nodes) Grids Dataset
Items Types Items Ordering Direction
Ordinal Quantitative Attributes Links Positions Tables
Positions Networks Fields (Continuous)
Link Link
How?
Items Items Sequential
Items Link Cell Link Items Link Cell Link Attributes Attributes Quantitative
Items
Items Items Link
Link Cell Grid of positions Items
Items Items Link
Link Cell Grid of positions Attributes (columns) Grid of positions

(rows)(rows) Attributes (columns) Cell


Cell Cell Position Position Attributes (columns)
(rows)(rows)Position Cell
Cell Cell Position Position
(rows)
(rows) (rows) Node Node Position
Position (rows)
(rows) (rows) Node Node Position
Position Position Items
(rows)
Link
Cell
Diverging
Node
Node Node Node
Node Node Dataset Types Node

Items (item)Link(item) Items (item)Link(item) Ordering


(item)
Direction
Cell containing
Cell containing value value (item)
(item) Cell (columns)
Attributes (item)
Attributes (columns) Cell containing
Cell containing value value (item)
(item) Cell (columns)
Attributes (item)
Attributes (columns) Tables Networks
Cell containing value
Fields (Continuous)
Attributes (columns)

(rows) Cell
Cellcontaining
containingvalue
value Cell containing value Attributes
Attributes(columns)
(columns) Attributes (columns) Position (rows) Cell
Cellcontaining
containingvalue
value Cell containing value Attributes
Attributes(columns)
(columns) Attributes (columns) Position Sequential Value in cell
Node Node Multidimensional Table
Grid of positions Trees
Cyclic
Attributes (columns)

(item) Value in cell Value in cell (item) Value in cell Value in cell Items Link
Cell
Cell containing value Attributes
Valueinin(columns)
Value cell
cell Value in cell Cell containing value Attributes
Valueinin(columns)
Value cell
cell Value in cell (rows) Diverging
Multidimensional Table Table
Multidimensional Trees Trees Multidimensional Table Table
Multidimensional Trees Trees Node

Trees Trees
(item)
Multidimensional
MultidimensionalTable
Table Trees
Trees
Multidimensional Table Multidimensional
MultidimensionalTable
Table Trees
Trees
Multidimensional Table Cell containing value Attributes (columns)
Value in cell

Value in cell Value in cell Ordering Direction Multidimensional Table Trees


Value in cell
Cyclic
Multidimensional Table Trees Multidimensional Table Trees Geometry (Spatial)

Sequential Diverging Cyclic Value in cell


Value in cell Value in cell Position
Value in cell Value in cell
Value
Valueinincell
cell Value in cell Value
Valueinincell
cell Value in cell

Geometry (Spatial) Dataset Availability What?


Value in cell • visualization vs computer
Value in cell graphics Static Dynamic Why?

45 – geometry is design decision 46 47


Position
How? 48
What does data mean? What does data mean? What does data mean?
14, 2.6, 30, 30, 15, 100001 14, 2.6, 30, 30, 15, 100001
• What does this sequence of six numbers mean? • What does this sequence of six numbers mean?
Visualization Analysis & Design – two points far from each other in 3D space?

Data Abstraction (Ch 2)

Tamara Munzner
Department of Computer Science
University of British Columbia
@tamaramunzner 50 51 52

What does data mean? What does data mean? What does data mean? What does data mean?
14, 2.6, 30, 30, 15, 100001 14, 2.6, 30, 30, 15, 100001 14, 2.6, 30, 30, 15, 100001 14, 2.6, 30, 30, 15, 100001
• What does this sequence of six numbers mean? • What does this sequence of six numbers mean? • What does this sequence of six numbers mean? • What does this sequence of six numbers mean?
– two points far from each other in 3D space? – two points far from each other in 3D space? – two points far from each other in 3D space? – two points far from each other in 3D space?
– two points close to each other in 2D space, with 15 links between them, and a weight of 100001 for the link? – two points close to each other in 2D space, with 15 links between them, and a weight of 100001 for the link? – two points close to each other in 2D space, with 15 links between them, and a weight of 100001 for the link? – two points close to each other in 2D space, with 15 links between them, and a weight of 100001 for the link?
– something else?? – something else?? – something else??
Basil, 7, S, Pear Basil, 7, S, Pear
• What about this data?

53 54 55 56

What does data mean? What does data mean? What does data mean? Now what?
14, 2.6, 30, 30, 15, 100001 14, 2.6, 30, 30, 15, 100001 14, 2.6, 30, 30, 15, 100001 • semantics: real-world meaning
• What does this sequence of six numbers mean? • What does this sequence of six numbers mean? • What does this sequence of six numbers mean?
– two points far from each other in 3D space? – two points far from each other in 3D space? – two points far from each other in 3D space?
– two points close to each other in 2D space, with 15 links between them, and a weight of 100001 for the link? – two points close to each other in 2D space, with 15 links between them, and a weight of 100001 for the link? – two points close to each other in 2D space, with 15 links between them, and a weight of 100001 for the link?
– something else?? – something else?? – something else??
Basil, 7, S, Pear Basil, 7, S, Pear Basil, 7, S, Pear
• What about this data? • What about this data? • What about this data?
– food shipment of produce (basil & pear) arrived in satisfactory condition on 7th day of month – food shipment of produce (basil & pear) arrived in satisfactory condition on 7th day of month – food shipment of produce (basil & pear) arrived in satisfactory condition on 7th day of month
– Basil Point neighborhood of city had 7 inches of snow cleared by the Pear Creek Limited snow removal service – Basil Point neighborhood of city had 7 inches of snow cleared by the Pear Creek Limited snow removal service
– lab rat Basil made 7 attempts to find way through south section of maze, these trials used pear as reward food

57 58 59 60

Now what? Now what? Items & Attributes Items & Attributes
• semantics: real-world meaning • semantics: real-world meaning • item: individual entity, discrete • item: individual entity, discrete
• data types: structural or – eg patient, car, stock, city – eg patient, car, stock, city
mathematical interpretation of data – "independent variable" – "independent variable"
– item, link, attribute, position, (grid)
– different from data types in
programming!

item: person

61 62 63 64
Items & Attributes Items & Attributes Other data types Dataset
Data andtypes
Dataset Types
attributes: name, age, shirt size, fave fruit attributes: name, age, shirt size, fave fruit
Tables • Networks
flat table & Fields Geometry Clusters,
• item: individual entity, discrete • item: individual entity, discrete • links
–one item per row
Trees Sets, Lists
– eg patient, car, stock, city – eg patient, car, stock, city – express relationship between two items –each column is attribute
Items Items (nodes) Grids Items Items
– "independent variable" – "independent variable" – eg friendship on facebook, interaction between proteins –cell holds value for
Attributes Links Positions Positions
item-attribute pair
• attribute: property that is • attribute: property that is • positions Attributes Attributes
measured, observed, logged... measured, observed, logged... – spatial data: location in 2D or 3D
Dataset Types
– eg height, blood pressure for patient – eg height, blood pressure for patient – pixels in photo, voxels in MRI scan, latitude/longitude
– eg horsepower, make for car – eg horsepower, make for car Tables Networks Fields (Continuous) Geometry (Spatial)
• grids
– "dependent variable" – "dependent variable" – sampling strategy for continuous data Attributes (columns) Grid of positions

Items Link
Cell
(rows) Position
Node
(item)
item: person item: person Cell containing value
item: person Attributes (columns)

Value in cell

Multidimensional Table Trees


65 66 67 68

Dataset
Data andtypes
Dataset Types Table Table Table
attributes: name, age, shirt size, fave fruit Value in cell
Tables • Networks
flat table & Fields Geometry Clusters,
–one item per row
Trees Sets, Lists
Items
–each column is attribute
Items (nodes) Grids Items Items item item
–cell holds value for
Attributes Links Positions Positions
item-attribute pair
–unique key Attributes
Attributes
(could be implicit)
Dataset Types
Tables Networks Fields (Continuous) Geometry (Spatial)
attribute
Attributes (columns) Grid of positions

Items Link
Cell
(rows) Position
Node
(item)
Cell containing value
item: person Attributes (columns)

Value in cell

Multidimensional Table Trees


69 70 71 72

Table Dataset
Data andtypes
Dataset Types Dataset
Data andtypes
Dataset Types Dataset types
Data and Dataset Types
Value in cell
Tables •Dataset
Networks multidimensional
& Fields
Types tables
Geometry Clusters, Tables Networks & Fields Geometry
• network/graph Clusters, Tables Networks & Fields Geometry Clusters,
Trees –indexing based on multiple Sets, Lists
keys Trees Sets, Lists Trees Sets, Lists
Tables Networks Fields (Continuous) Geometry (Spatial) –nodes (vertices) connected by links (edges)
item cell Items Items (nodes) Grids
•eg genes, patients Items Items Items Items (nodes) Grids Items Items Items Items (nodes) Grids Items Items
Attributes (columns) Grid of positions –tree is special case: no cycles
Attributes Links Positions Positions Attributes Links Positions Positions Attributes Links Positions Positions
Items Link
Cell •often have roots and are directed
Attributes (rows) Attributes
Node
Dataset
Position Types
Attributes Attributes Dataset TypesAttributes Attributes
(item)
Dataset Types Cell containing value Attributes (columns) Dataset
Dataset Types
Tables
Types Networks Fields (Continuous) Geometry (Spatial) Dataset Types
Tables
Dataset Types Dataset Networks
Types Fields (Continuous) Geometry (Spatial)

Tables Networks Fields (Continuous)


Value in cell
Geometry (Spatial) Tables
Tables Attributes (columns) Networks
Networks Fields Grid of positions
(Continuous)
Fields (Continuous) Geometry
Geometry(Spatial)
(Spatial)
Dataset
Tables Types Tables
Tables Attributes (columns) Networks
Networks Networks
Spatial
Fields
Fields
Grid of positions
(Continuous)
(Continuous) Fields
Geometry
(Continuous)
Geometry (Spatial)
(Spatial)
attribute Multidimensional Table Trees
Attributes (columns) Grid of positions
Items
Attributes (columns)
Link
CellGrid
Gridof
ofpositions
positions Tables
Items
Attributes
Attributes(columns)
Networks Link
Attributes (columns) Fields (Continuous)
CellGrid
Grid of
ofpositions
positions Geometry
Grid of positions(Spatial)
(rows)Attributes (columns) Position (rows) (columns) Position
Node Node Link
Items Link Items
Items
Link
Link (item) Cell Items
Items Attributes (columns) Items Link
Link (item) Cell Grid of positions Cell
Cell (rows) Cell containing value Cell Attributes (columns) Position (rows) Cell containing value(rows) Cell Attributes (columns) Position
(rows) Position (rows) Position (rows) Node Position
Node Node
Node Node
Link
Node
Value in cell Items Cell (item)
(item) (item)
(item) (item)
(item)
Cell Attributes (columns) (rows) Cell containing value Cell containing value Attributes (columns) Attributes (columns) Position
Cell containing value Attributes (columns) Cellcontaining
containingvalue
value Value in cell
Attributes (columns) Cell containing value Node
Value in cell
Attributes (columns)
Multidimensional Table Trees Multidimensional Table Trees (item)
Value in cell Cell containing value Attributes
Value in (columns)
cell Value in cell
Value in cell Value in cell Value in cell
Multidimensional Trees Multidimensional
Trees Table Trees
Multidimensional Table Trees MultidimensionalTable
Table Trees Multidimensional
MultidimensionalTable
Table Trees Value in cell
73 74 75 76
Multidimensional Table Trees

Spatial fields Spatial fields Spatial fields Dataset types


Value in cell Value in cell

Data and Dataset Types


Value in cell Value in cell Value in cell
Value in cell Value in cell Value in cell
• attribute values associated w/ cells • attribute values associated w/ cells • attribute values associated w/ cells Tables Networks & Fields Geometry Clusters,
scalar Value in cell
Trees Sets, Lists
• cell contains value from • cell contains value from • cell contains value from continuous
continuous domain continuous domain domain Items Items (nodes) Grids Items Items

– eg temperature, pressure, wind velocity Dataset TypesLinks


Attributes Positions Positions
– eg temperature, pressure, wind velocity – eg temperature, pressure, wind velocity
Tables Attributes Attributes
• measured or simulated • measured or simulated • measured or simulated Dataset
DatasetTypes
Types Dataset Networks
Types Fields (Continuous) Geometry (Spatial)
• major concerns Dataset Grid of positions
Tables Types Tables Networks
Spatial Fields
Attributes (columns)
Networks
Spatial Fields (Continuous) Geometry (Spatial) • major concerns Tables Networks
Networks Fields
Fields (Continuous)
(Continuous) Geometry
(Continuous)
Geometry (Spatial)
(Spatial)
– sampling: vector Items Link
Fields (Continuous) Geometry
Grid of positions(Spatial) – sampling: Tables
Attributes
Attributes(columns)
(rows) Networks
Attributes (columns) Fields
CellGrid(Continuous)
Gridofofpositions
positions Geometry
Grid of positions(Spatial)
Position
ns) where attributes are measured (columns)
Node
where attributes are measured Link
Link
Grid of positions – interpolation: Items
Items Attributes (columns) Items Link
Link (item)
Cell Grid of positions
Attributes (columns) Cell
Cell (rows) Cell containing value(rows) Cell Position
Position – interpolation: how to model attributes elsewhere (rows) Node
Link
Node Position
Node Items Node
k
Cell (item) how to model attributes elsewhere (rows) Cell containing value
(item)
(item)
Cell containing value
Cell (item)
Value in cell Attributes (columns) Position
alue Attributes (columns) Position – grid types Cell containing value
Trees Node
Attributes (columns)
Attributes (columns)
Node – grid types Multidimensional Table (item)
(item)
Attributes (columns) • major divisions Cell containing value Attributes
Value in (columns)
cell Value in cell
Value in cell
tensor Multidimensional
MultidimensionalTable Multidimensional
Trees
Trees Table Trees
Value in cell

Table Trees – attributes per cell: Table Value in cell


Value in cell
scalar (1), vector (2), tensor (many) Multidimensional Table Trees
77 78 79 Value in cell 80
Geometry Dataset types
Data and Dataset Types Collections Collections
• shape of items Tables Networks & Fields Geometry Clusters, • how we group items • how we group items
Trees Sets, Lists
• explicit spatial positions / regions • sets
Items Items (nodes) Grids Items Items
– points, lines, curves, surfaces, volumes Dataset TypesLinks
Attributes Positions Positions
– unique items, unordered
• boundary between computer graphics Tables
Dataset
Attributes Attributes
Dataset Networks
Types Fields (Continuous) Geometry (Spatial)
DatasetTypes
Types
and visualization Grid of positions
Dataset
Tables Types
Tables Attributes (columns) Tables
Networks
Networks Networks
Spatial
Fields
Fields (Continuous)
(Continuous) Fields
Geometry
(Continuous)
Geometry (Spatial)
(Spatial) Geometry (Spatial)
– graphics: geometry taken as given Items Link
Tables
Attributes
Attributes(columns)
Networks
Attributes (columns) Fields
CellGrid(Continuous)
Gridofofpositions Geometry
Grid of positions(Spatial)
– vis: geometry is result of a design decision (rows) (columns)
Node
positions Position
Link
Items
Items Attributes (columns) Items Link
Link (item)
Cell Grid of positions
Attributes (columns) Cell
(rows) Cell containing value(rows) Cell Position Position
(rows) Node Position
Node
Link
Node
Items Cell (item)
(item)
(item) Value in cell
(rows) Cell containing value Cell containing value Attributes (columns) Attributes (columns) Position
Cell containing value Node Attributes (columns)
Multidimensional Table Trees
(item)
Cell containing value Attributes
Value in (columns)
cell Value in cell
Value in cell
Multidimensional Multidimensional
Trees Table Trees
MultidimensionalTable
Table Trees Value in cell

Multidimensional Table Trees


81 Value in cell 82 83 84

Collections Collections Value in cell


Value in cell
Value in cell
Dataset and data types Attribute types
Value in cell Attributes
• how we group items • how we group items Data and Dataset Types • which classes of values &
• sets • sets measurements? Attribute Types
Tables Networks & Fields Geometry Clusters, Categorical Ordered
– unique items, unordered – unique items, unordered Trees Sets, Lists • categorical (nominal)
Ordinal Quantitative
• lists • lists Items Items (nodes) Grids Items Items – compare equality
– ordered, duplicates possible – ordered, duplicates possible Attributes Links Positions Positions – no implicit ordering
Attributes Attributes
• clusters • ordered
– groups of similar items Data Types – ordinal Ordering Direction
Items Attributes Links Positions Grids • less/greater than defined
Sequential Diverging Cyclic
– quantitative
• meaningful magnitude
• arithmetic possible

85 86 87 88

Table Other data concerns


Attributes Data abstraction: Three operations
categorical Attribute Types • translate from domain-specific language to generic visualization language
ordinal Categorical Ordered
quantitative Ordinal Quantitative
• identify dataset type(s), attribute types
• identify cardinality
– how many items in the dataset?
Ordering Direction Dataset Availability – what is cardinality of each attribute?
Sequential Diverging Cyclic Static Dynamic • number of levels for categorical data
• range for quantitative data

• consider whether to transform data


– guided by understanding of task

89 90 91 92

Data vs conceptual models Data vs conceptual model, example Data vs conceptual model, example Data vs conceptual model, example
• data model • data model: floats • data model: floats
– mathematical abstraction – 32.52, 54.06, -14.35, ... – 32.52, 54.06, -14.35, ...
• sets with operations, eg floats with * / - + • conceptual model
• variable data types in programming languages
– temperature
• conceptual model
– mental construction (semantics)
– supports reasoning
– typically based on understanding of tasks [stay tuned!]

• data abstraction process relies on conceptual model


– for transforming data if needed

93 94 95 96
Data vs conceptual model, example Data
Items vs conceptual model, example
Link
Cell Data vs conceptual model, example Data vs conceptual model, example
(rows)
Node
Diverging
• data model: floats • data model: floats
Cell containing value
(item)
Attributes (columns)
• data model: floats • data model: floats
– 32.52, 54.06, -14.35, ... – 32.52, 54.06, -14.35, ... – 32.52, 54.06, -14.35, ... – 32.52, 54.06, -14.35, ...
Value in cell
• conceptual model • conceptual model
Multidimensional Table Trees
Cyclic • conceptual model • conceptual model
– temperature – temperature – temperature – temperature
• multiple possible data abstractions • multiple possible data abstractions • multiple possible data abstractions • multiple possible data abstractions
– continuous to 2 significant figures: quantitative – continuous to 2 significant figures: quantitative – continuous to 2 significant figures: quantitative
Value in cell
• task: forecasting the weather • task: forecasting the weather • task: forecasting the weather
– hot, warm, cold: ordinal – hot, warm, cold: ordinal
• task: deciding if bath water is ready • task: deciding if bath water is ready
Geometry (Spatial) – above freezing, below freezing: categorical
• task: decide if I should leave the house today
What?
Datasets Attributes
97 Position 98 99 100

Data Types Attribute Types


What? Categorical
Derived attributes Analysis example: Derive one attribute
Items Attributes Links Positions Grids
Datasets Attributes
Data and Dataset Types

• Dataset
Strahler Availability
number What? Data Types
Tables Networks &
Attribute Types
Fields Geometry Clusters, Ordered
• derived attribute: compute from originals Items Attributes Links Positions Grids
Trees Categorical sets, lists Ordinal

– centrality metric for trees/networks Items Items (nodes) Grids Items Items

– simple change of type


Visualization Analysis & Design
Data and Dataset Types Attributes Links Positions Positions

– Static
derived quantitative attribute Dynamic Why? Attributes Attributes Quantitative
Tables Networks & Fields Geometry Clusters, Ordered

– acquire additional data – draw top 5K of 500K for good skeleton Items
Trees
Items (nodes) Grids Dataset Types
Items Items
Sets, Lists Ordinal

Ordering Direction

– complex transformation [Using Strahler numbers for real time visual exploration of huge graphs. Auber.
How?
Attributes Links
Attributes
Positions
Attributes
Tables
Positions
Actions Quantitative
Networks Fields (Continuous)
Grid of positions
Sequential
Actions
Proc. Intl. Conf. Computer Vision and Graphics, pp. 56–69, 2002.] Attributes (columns)

Task 1 Task 2
Dataset Types
Analyze
Tables Networks
Items
(rows) Actions
Actions
Cell containing value
Fields (Continuous)
Link

Node
Cell

Ordering Direction Attributes (columns)


(item)
Diverging
Task Abstraction
Analyze
(Ch 3): In Brief Actions
Actions

Sequential
exports
Value in cell
Cyclic
.58 .74 .58 .74 Analyze
Attributes (columns)
Analyze Multidimensional
Grid of positions Table Trees
AnalyzeAnalyze
.84
.64
.84
.64 Items Consume Link
Cell Consume
.54 .54 (rows) Diverging
imports .84
.74 .84
.84
.74 .84
Discover
Cell containing value
Consume
Consume Present
Node
(item)
Enjoy
Attributes (columns)
Consume
DiscoverConsume Present Enjoy
.24 .24 Value in cell
.64 .64

trade .94 .94 DiscoverDiscover Present Present


Value in cell Enjoy
Cyclic
Enjoy DiscoverDiscover Present Present Enjoy Enjoy
In Out In In Out Multidimensional Table Trees
balance Tree Quantitative Tree + Quantitative Filtered Tree Geometry (Spatial)
attribute on nodes attribute on nodes Removed
unimportant parts Value in cell
Position Tamara Munzner
trade balance = exports −imports What? Why? Why? How? Produce
In Tree Derive
What?
In Tree Summarize Reduce Produce
Geometry (Spatial) Produce Dataset Availability Derive What?
Department of Computer Produce
Science Produce
Produce
Annotate Record Annotate Record Derive
Original Data Derived Data Out Quantitative
attribute on nodes
In Quantitative attribute on nodes
Out Filtered Tree
Topology Filter AnnotateAnnotate Static
Record Record Dynamic Derive Derive Why? University of British Columbia AnnotateAnnotate Record Record Derive Derive
tag Actions tag Actions
101 102
Position
tag tag How?
103 @tamaramunzner tag tag

Why? Why? Dataset Availability Analyze What?


Analyze
Actions Targets Actions Targets Actions: Analyze, Query Static Dynamic Why? Actions: Analyze, Query
Consume Consume
All Data All Data Search SearchSearch How? Search SearchSearch
Analyze Analyze
• analyze Discover Present Enjoy
• analyze Discover Present Enjoy
Consume Trends Outliers Features Consume Trends Outliers Features
Target known Target knownTarget unknown
Why? Target known Target knownTarget unknown
Discover Present Enjoy Discover Present Enjoy – consume Target known Target unknown
Target unknown – consume Target known Target unknown
Target unknown

• discover vs present Actions


Location Location
Location Lookup Lookup Lookup Browse Browse Browse
Targets • discover vs present Location Location
Location Lookup Lookup Lookup Browse Browse Browse
Attributes Attributes known known known known known known
Produce Produce – aka explore vs explain Produce – aka explore vs explain Produce
Annotate Record Derive One Many Annotate Record Derive One Many
• enjoy Analyze Location Location
Location All Data • enjoy Location Location
Location
Distribution Dependency Correlation Similarity Distribution Dependency Correlation Similarity Annotate Locate Locate
Record
Locate Explore
DeriveExplore Explore Annotate Locate Locate
Record
Locate Explore
DeriveExplore Explore
tag tag
unknownunknown unknown unknownunknown unknown
– aka casual,Consume
social tag Trends Outliers Features – aka casual, social tag
Extremes Extremes
Search Search – produce Discover Present Enjoy – produce
Target known Target unknown
• {action, target} pairs
Target known Target unknown Query
• annotate, record, derive QueryQuery Query
• annotate, record, derive QueryQuery
Location Location
Lookup Browse Network Data Lookup Browse Network Data
Identify IdentifyIdentify
Compare CompareSummarize
Compare Summarize
Summarize Identify IdentifyIdentify
Compare CompareSummarize
Compare Summarize
Summarize
known
Topology
–discover distribution known
Topology • query Search • query Search
Location
unknown
Locate Explore
–compare trends
Location
unknown
Locate Explore
Attributes
Produce
– how much data matters? Target known Target unknown
– how much data matters? Target known Target unknown
–locate outliers
Query Paths Query Paths
• one, some, all Annotate Record Derive One Many • one, some, all
Identify Compare Summarize –browse topology Identify Compare Summarize Location Location
What? What? Lookup Distribution
Browse Dependency Correlation Similarity Lookup Browse

Spatial Data Spatial Data


• independent choices
tag known
• independent choices known

Why? Why? Location Location


Shape Shape – analyze, query, (search) Locate Explore – analyze, query, (search) Locate Explore
How? 105 How? 106 Why? unknown Extremes 107
unknown 108
Search
Actions Targets
Derive Analysis example: Derive one attribute Why: Targets Target known
Query Target unknown Query
• Strahler number All Data Location
• don’t necessarily just draw what you’re given! Analyze Lookup Identify Compare
Browse Network Data
Summarise Identify Compare Summarise
known
– centrality metric for trees/networks
Consume
–decide what the right thing to show is
–create it with a series of transformations from the original dataset
– derived quantitative attribute
Discover Present Enjoy
Trends Outliers
Location
unknown
Features
Locate Explore Topology
Visualization Analysis & Design
– draw top 5K of 500K for good skeleton
–draw that [Using Strahler numbers for real time visual exploration of huge graphs. Auber.
Proc. Intl. Conf. Computer Vision and Graphics, pp. 56–69, 2002.] Query Paths
• one of the four major strategies for handling complexity
Task 1 Task 2 Produce
Attributes Identify Compare Summarize Task Abstraction (Ch 3)
What?
.58 .74
.64
.58 .74
.64 Annotate Record Derive One Many
exports .54 .84 .54 .84
Distribution Dependency Correlation Similarity Spatial Data
tag
Why?
.74 .84 .74 .84
.24 .84 .24 .84
imports .94
.64
.94
.64
Shape
trade In Out In In Out
Tree Quantitative Tree + Quantitative Filtered Tree
balance attribute on nodes attribute on nodes Removed
Extremes How?
Search unimportant parts
Tamara Munzner
What? Why? What? Why? How?
trade balance = exports −imports
In Tree Derive In Tree Summarize
Target
Reduce
known Target unknown Department of Computer Science
Original Data Derived Data Out Quantitative In Quantitative attribute on nodes Topology
Location Filter University of British Columbia
attribute on nodes Out Filtered Tree
known
Lookup Browse Network Data
109 110 111 @tamaramunzner
From domain to abstraction Domain situation From domain to abstraction Domain situation From domain to abstraction Domain situation From domain to abstraction Domain situation

Data/task abstraction
• domain characterization: Data/task abstraction
• domain characterization: Data/task abstraction
• domain characterization: Data/task abstraction

Visual encoding/interaction idiom


details of application domain Visual encoding/interaction idiom
details of application domain Visual encoding/interaction idiom
details of application domain Visual encoding/interaction idiom

Algorithm Algorithm
– group of users, target domain, their questions & data Algorithm
– group of users, target domain, their questions & data Algorithm

• varies wildly by domain • varies wildly by domain


domain • must be specific enough to get traction domain • must be specific enough to get traction domain

– domain questions/problems
• break down into simpler abstract tasks

113 114 115 116

From domain to abstraction Domain situation From domain to abstraction Domain situation Design process Task abstraction: Actions and targets
• domain characterization: Data/task abstraction
• domain characterization: Data/task abstraction
• very high-level pattern • {action, target} pairs
Characterize Domain Situation
details of application domain Visual encoding/interaction idiom
details of application domain Visual encoding/interaction idiom
–discover distribution
–compare trends
– group of users, target domain, their questions & data Algorithm
– group of users, target domain, their questions & data Algorithm

–locate outliers
• varies wildly by domain • varies wildly by domain
–browse topology
• must be specific enough to get traction domain • must be specific enough to get traction domain Map Domain-Language Map Domain-Language Task
– domain questions/problems abstraction – domain questions/problems abstraction Data Description to to Abstract Task
• break down into simpler abstract tasks • break down into simpler abstract tasks
Data Abstraction
• abstraction: data & task • abstraction: data & task
– map what and why into generalized terms – map what and why into generalized terms
• identify tasks that users wish to perform, or already do
Identify/Create Suitable Idiom/Technique
• find data types that will support those tasks
– possibly transform /derive if need be
Identify/Create Suitable Algorithm
117 118 119 120

Actions
Task abstraction: Actions and targets Task abstraction: Actions and targets Actions: Analyze Actions: Search
Analyze
• very high-level pattern • {action, target} pairs • very high-level pattern • {action, target} pairs • consume
Consume
– discover distribution –discover distribution – discover vs present
Discover Present Enjoy
– compare trends –compare trends • classic split
• actions – locate outliers • actions –locate outliers
• aka explore vs explain
– analyze – browseActions
topology – analyze –browseActions
topology Actions Actions
– enjoy
• high-level choices • high-level choices
Analyze Analyze • newcomer Produce
Analyze Analyze
– search – search • aka casual, social Annotate Record Derive
• find a known/unknown item Consume • find a known/unknown item Consume Consume Consume
Discover Present Enjoy Discover Present Enjoy Discover tag Present Enjoy Discover Present Enjoy
– query – query
• produce
• find out about characteristics of item • find out about characteristics of item
– annotate, record
– derive Search
Produce • targets Produce Produce Produce
• crucial design choice
Annotate Record Derive – what is being acted on Annotate Record Derive Annotate Target
Recordknown Derive Target unknown Annotate Record Derive

tag 121 tag 122 Location tag 123 tag 124


Lookup Browse
known

Actions: Search Actions: Search Actions: Search Location


Locate Explore
Actions: Search
unknown
• what does user know? Search • what does user know? Search • what does user know? Search • what does user know? Search
– target, location – target, location – target, location – target, location
Target known Target unknown Target known Target unknown Target known Target unknown Target known Target unknown
Query
Location
• lookup Location
• lookup Location
• lookup Location
Lookup Browse Lookup Browse Identify Compare
Lookup Summarise
Browse Lookup Browse
known – ex: word in dictionary known – ex: word in dictionary known – ex: word in dictionary known
• alphabetical order • alphabetical order • alphabetical order
Location Location Location Location
Locate Explore Locate Explore Locate Explore Locate Explore
unknown unknown • locate unknown • locate unknown

– ex: keys in your house – ex: keys in your house


– ex: node in network – ex: node in network
Query Query Query Query
• browse
Identify Compare Summarize Identify Compare Summarize Identify Compare Summarize Identify Compare Summarize
– ex: books in bookstore

https://bl.ocks.org/heybignick/3faf257bbbbc7743bb72310d03b86ee8 https://bl.ocks.org/heybignick/3faf257bbbbc7743bb72310d03b86ee8

125 126 127 128


Location
Actions: Search Actions: Query unknown
Locate Explore Actions Actions
Why?
Targets
Task abstraction: Targets
• what does user know? Search • how much of the data • independent choices for Analyze All Data

– target, location
Target known Target unknown
matters? Query each of these three levels Consume
Discover Present Enjoy
Why?
Trends Outliers Features
Why?
• lookup Location
– one: identify Identify Compare Summarize – analyze, search, query
Lookup Browse Actions Attributes Targets Actions Targe
– ex: word in dictionary known – some: compare – mix and match Produce
One Many
• alphabetical order Annotate Record Derive
Location
Locate Explore
– all: summarize Analyze tag All DataDistribution Dependency Correlation Similarity
Analyze All Data
• locate unknown

– ex: keys in your house


Consume Search
TrendsExtremes Outliers Features Consume Trends Outliers
Discover Present EnjoyTarget known Discover Present Enjoy
– ex: node in network Target unknown
Query Location
Lookup Browse Network Data
• browse known
Topology
Identify Compare Summarize Location
unknown
Locate Explore
– ex: books in bookstore Attributes Attributes
Produce Query Produce
• explore Identify Compare Summarize One
Paths
Many One Many
Annotate Record Derive What? Annotate Record Derive
– ex: find cool neighborhood in https://bl.ocks.org/heybignick/3faf257bbbbc7743bb72310d03b86ee8 Distribution Dependency Correlation Similarity tag Distribution Dependenc
tag Spatial Data
new city Why?
Shape
129 130 131 132
How?
Why? Why? Why? Extremes Why? Extremes
Task abstraction: Targets Task abstraction: Targets Search Targets
Task abstraction: Search Targets
Task abstraction:
Targets Actions Targets Actions Targets Actions Targets
Target known Target unknown Target known Target unknown
All Data All Data All Data Location All Data Location
Analyze Analyze Lookup Analyze
Browse Network Data Lookup Browse Network Data
known known
Trends Outliers Features Consume Trends Outliers Features Consume Trends Outliers
Location Features Consume Topology Trends Outliers
Location Features Topology
Locate Explore Locate Explore
Discover Present Enjoy Discover Present Enjoy unknown Discover Present Enjoy unknown

Query Paths Query Paths


Attributes Attributes Attributes Identify Compare Summarize Attributes Identify Compare Summarize
Produce Produce Produce What?
One Many Annotate Record Derive One Many Annotate Record Derive One Many Annotate Record Derive One Many
Distribution Dependency Correlation Similarity tag Distribution Dependency Correlation Similarity tag Distribution Dependency Correlation Similarity tag Spatial Data Distribution Dependency Correlation Similarity Spatial Data
Why?
Shape Shape
Extremes Extremes Extremes How?
Extremes
Search Search Search
Target known Target unknown Target known Target unknown Target known Target unknown
Location Location Location
Network Data known
Lookup Browse
133
Network Data known
Lookup Browse
134
Network Data known
Lookup Browse
135
Network Data 136

Why?
Abstraction
Topology Location
unknown
Locate Explore Means and ends
Topology Location
unknown
Locate Explore Topology Actions
Location
unknown
Locate
Targets Explore Topology
What? All Data
• these {action, target} pairs are good starting point for vocabulary Analyze
Consume Trends Outliers Features
sometimes you'll need more precision! Query Query Query
– but Paths
Visualization Analysis & Design
Paths Why? Paths Discover Present Enjoy Paths
Identify Compare Summarize Identify Compare Summarize Identify Compare Summarize
• rule of thumb What? How?
What? What? Attributes What?
Produce
– systematically remove all domain jargon One Many
Spatial Data Spatial Data Spatial Data Annotate Record Derive
Spatial Data
Marks & Channels (Ch 5) I
What? Distribution Dependency Correlation Similarity
Why? Why? tag
Why? Why?
Shape Shape Shape Shape
• interplay: task and data abstraction How? Why? Extremes
Search
How? Target known
How? How?
– need to use data abstraction within task abstraction How? • {action, target} pairs Location
Target unknown

Lookup Browse Network Data


• to specify your targets! – discover distribution known
Location Locate Explore Topology
• but task abstraction can lead you to transform the data What? – compare trends unknown

– locate outliers
– iterate back and forth Why?
Query Paths
Tamara Munzner
– browse topology Identify Compare Summarize
• first pass data, first pass task, second pass data, ... What? Department of Computer Science
How? Spatial Data
Shape
Why? University of British Columbia
137 138 How? 139 @tamaramunzner

Visual encoding Domain situation Visual encoding Visual encoding Marks for items
• how to systematically analyze idiom structure? Data/task abstraction
• how to systematically analyze idiom structure? • how to systematically analyze idiom structure? • basic geometric elements
Visual encoding/interaction idiom

Algorithm

Points Lines Interlocking Areas


Areas

0D 1D 2D

• marks & channels


–marks: represent items or links
–channels: change appearance of marks based on attributes • 3D mark: volume, rarely used
141 142 143 144
Marks for links Containment can be nested Channels Definitions: Marks and channels
Marks as Links Position Color Points Lines Areas

• control appearance of Horizontal Vertical Both • marks


Containment Connection marks – geometric primitives
– proportional to or
based on attributes
Shape Tilt

• many names
– visual channels
– visual variables Size
– retinal channels Length Area Volume
– visual dimensions
– ...

vialab.science.uoit.ca/portfolio/bubblesets https://observablehq.com/@d3/force-directed-graph 145 [Untangling Euler Diagrams, Riche and Dwyer, 2010] 146 147 148

Definitions: Marks and channels Points Lines Areas


Interlocking Areas
Definitions: Marks and channels Points Lines Areas
Interlocking Areas
Visual encoding Visual encoding
• marks • marks • analyze idiom structure as combination of marks and channels • analyze idiom structure as combination of marks and channels
– geometric primitives Position Color
– geometric primitives Position Color
Horizontal Vertical Both Horizontal Vertical Both

• channels • channels
– control appearance of marks Shape Tilt
– control appearance of marks Shape Tilt
1:
vertical position
• channel properties differ
Size • type & amount of information that Size
Length Area Volume
can be conveyed to human Length Area Volume

perceptual system mark: line

149 150 151 152

Visual encoding Visual encoding Visual encoding Redundant encoding


• analyze idiom structure as combination of marks and channels • analyze idiom structure as combination of marks and channels • analyze idiom structure as combination of marks and channels • multiple channels
– sends stronger message
– but uses up channels

1: 2: 1: 2: 3: 1: 2: 3: 4:
vertical position vertical position vertical position vertical position vertical position vertical position vertical position vertical position vertical position
horizontal position horizontal position horizontal position horizontal position horizontal position horizontal position
color hue color hue color hue
size (area)

mark: line mark: point mark: line mark: point mark: point mark: line mark: point mark: point mark: point

Length and Luminance


153 154 155 156

Marks as constraints Marks as constraints Marks as constraints Scope of analysis


• math view: geometric primitives have dimensions • math view: geometric primitives have dimensions • math view: geometric primitives have dimensions • simplifying assumptions: one mark per item, single view
Points 0D Lines 1D Areas
Interlocking Areas 2D Points 0D Lines 1D Areas
Interlocking Areas 2D Points 0D Lines 1D Areas
Interlocking Areas 2D
• later on
– multiple views
• constraint view: mark type constrains what else can be encoded • constraint view: mark type constrains what else can be encoded – multiple marks in a region (glyph)
– points: 0 constraints on size, can encode more attributes w/ size & shape – points: 0 constraints on size, can encode more attributes w/ size & shape – some items not represented by marks (aggregation and filtering)
– lines: 1 constraint on size (length), can still size code other way (width) – lines: 1 constraint on size (length), can still size code other way (width)
– interlocking areas: 2 constraints on size (length/width), cannot size or shape code – interlocking areas: 2 constraints on size (length/width), cannot size or shape code
• interlocking: size, shape, position • interlocking: size, shape, position
• quick check: can you size-code another attribute
– or is size/shape in use?
157 158 159 160
When to use which channel? Channels: Rankings
Channels: Expressiveness Types And Effectiveness Ranks
Channels: Rankings
Channels: Expressiveness Types And Effectiveness Ranks
Channels: Rankings
Channels: Expressiveness Types And Effectiveness Ranks

Magnitude Channels: Ordered Attributes Identity Channels: Categorical Attributes Magnitude Channels: Ordered Attributes Identity Channels: Categorical Attributes Magnitude Channels: Ordered Attributes Identity Channels: Categorical Attributes
Position on common scale Spatial region Position on common scale Spatial region Position on common scale Spatial region

expressiveness Position on unaligned scale Color hue Position on unaligned scale Color hue Position on unaligned scale Color hue Attributes

Attribute Types

match channel type to data type Length (1D size) Motion Length (1D size) Motion Length (1D size) Motion

Attribute Types
Attributes
Categorical Ord
Or
Tilt/angle Shape Tilt/angle Shape Tilt/angle Shape
Categorical Ordered
Ordinal Quantitative
Area (2D size) Area (2D size) Area (2D size)

effectiveness
Ordering Direction
Depth (3D position) Depth (3D position) • expressiveness Depth (3D position) • expressiveness
Sequential Diverging
– match channel and data characteristics – match channel and data characteristics
Ordering Direction

some channels are better than others Color luminance Color luminance
Marks as Items/Nodes
Color luminance – magnitude for ordered
Sequential
– how much? which rank?
Diverging Cyclic

Color saturation Color saturation Color saturation


Points Lines Areas – identity for categorical
Curvature Curvature Curvature – what?

Volume (3D size) Volume (3D size) Volume (3D size)


161 162 163 164

Channels: Rankings
Channels: Expressiveness Types And Effectiveness Ranks
Channels: Rankings
Channels: Expressiveness Types And Effectiveness Ranks
Grouping
Magnitude Channels: Ordered Attributes Identity Channels: Categorical Attributes Magnitude Channels: Ordered Attributes Identity Channels: Categorical Attributes Marks as Links
Position on common scale Spatial region Position on common scale Spatial region Containment Connection
Position on unaligned scale Color hue Position on unaligned scale Color hue • containment Visualization Analysis & Design
Length (1D size) Motion Length (1D size) Motion
• connection
Channels: Expressiveness Types And Effectiveness Ranks
Tilt/angle Shape Tilt/angle Shape
Magnitude Channels: Ordered Attributes Identity Channels: Categorical Attributes Marks & Channels (Ch 5) II
Area (2D size) Area (2D size)

• expressiveness • expressiveness • proximity


Position on common scale Spatial region
Depth (3D position) Depth (3D position)
– match channel and data characteristics – match channel and data characteristics – same spatial region
Color luminance Color luminance Position on unaligned scale Color hue
• effectiveness • effectiveness • similarity
Color saturation – channels differ in accuracy of perception Color saturation – channels differ in accuracy of perception
– same values as other Tamara Munzner
Length (1D size)
– spatial position ranks high for both Motion
Curvature Curvature categorical channels Department of Computer Science
Volume (3D size) Volume (3D size) Tilt/angle Shape University of British Columbia
165 166 167 @tamaramunzner

Area (2D size)


Channel effectiveness Accuracy: Fundamental theory Accuracy:Vis experiments Discriminability: How many usable steps?
Cleveland & McGill’s Results

• accuracy: how precisely can we tell the difference between encoded items? • length is accurate: linear Depth (3D position) • must be sufficient for number of
• discriminability: how many unique steps can we perceive? • others magnified or attribute levels to show
Color luminance – linewidth: few bins
• separability: is our ability to use this channel affected by another one? compressed
Positions
–exponent characterizes
• popout: can things jump out using this channel? S = sensation
Color saturation 1.0 1.5 2.0
Log Error
2.5 3.0

Crowdsourced Results
[Crowdsourcing Graphical
Perception: Using Mechanical Turk
Curvature
I = intensity to Assess Visualization Design.
Heer and Bostock. Proc ACM Conf.
Angles Human Factors in Computing
Volume (3D size) Systems (CHI) 2010, p. 203–
Circular 212.]
areas

Rectangular
areas
(aligned or in a
treemap)

1.0 1.5 2.0 2.5 3.0


169 170 after Michael McGuffin course slides, http://profs.etsmtl.ca/mmcguffin/ Log Error 171 [mappa.mundi.net/maps/maps 014/telegeography.html] 172

Separability vs. Integrality Separability vs. Integrality Separability vs. Integrality Separability vs. Integrality
Position Size Width Red Position Size Width Red Position Size Width Red Position Size Width Red
Hue (Color) Hue (Color) Height Green Hue (Color) Hue (Color) Height Green Hue (Color) Hue (Color) Height Green Hue (Color) Hue (Color) Height Green

Fully separable Some interference Some/significant Major interference Fully separable Some interference Some/significant Major interference Fully separable Some interference Some/significant Major interference Fully separable Some interference Some/significant Major interference
interference interference interference interference
2 groups each 2 groups each 2 groups each 2 groups each 2 groups each 3 groups total: 2 groups each 2 groups each 3 groups total: 4 groups total:
integral area integral area integral hue

173 174 175 176


Popout Popout Popout Popout
• find the red dot • find the red dot • find the red dot • find the red dot
– how long does it take? – how long does it take? – how long does it take? – how long does it take?

177 178 179 180

Popout Popout Popout Popout


• find the red dot • find the red dot • find the red dot • find the red dot
– how long does it take? – how long does it take? – how long does it take? – how long does it take?
• parallel processing on many individual
channels
– speed independent of distractor count
– speed depends on channel and amount of
difference from distractors
• serial search for (almost all) combinations
– speed depends on number of distractors

181 182 183 184

Popout Popout Factors affecting accuracy Relative vs. absolute judgements


• many channels • many channels • alignment • perceptual system mostly operates with relative judgements, not absolute
–tilt, size, shape, –tilt, size, shape, • distractors
proximity, shadow proximity, shadow • distance
direction, ... direction, ...
• common scale / alignment
• but not all!
– parallel line pairs do
not pop out from
tilted pairs

185 186 187 188

Relative vs. absolute judgements Relative vs. absolute judgements Relative vs. absolute judgements Relative luminance judgements
• perceptual system mostly operates with relative judgements, not absolute • perceptual system mostly operates with relative judgements, not absolute • perceptual system mostly operates with relative judgements, not absolute • perception of luminance is contextual based on contrast with surroundings
– that’s why accuracy increases with common frame/scale and alignment – that’s why accuracy increases with common frame/scale and alignment – that’s why accuracy increases with common frame/scale and alignment
– Weber’s Law: ratio of increment to background is constant – Weber’s Law: ratio of increment to background is constant
• filled rectangles differ in length by 1:9, difficult judgement
• white rectangles differ in length by 1:2, easy judgement

B
B B
B B
B B
B B
B B
B
A
A B
B A
A B
B A
A B
B
A
A A
A A
A A
A A
A A
A
length
Unframed
Unframed
position
Framed
Framed
along position along
Unframed
Unframed
length
Unframed
Unframed
position
Framed
Framed
along position along
Unframed
Unframed
length
Unframed
Unframed
position
Framed
Framed
along position along
Unframed
Unframed
Unaligned
Unaligned unaligned
Unaligned
Unaligned aligned scale
Aligned
Aligned Unaligned
Unaligned unaligned
Unaligned
Unaligned aligned scale
Aligned
Aligned Unaligned
Unaligned unaligned
Unaligned
Unaligned aligned scale
Aligned
Aligned
after [Graphical Perception:Theory, Experimentation, and Application after [Graphical Perception:Theory, Experimentation, and Application after [Graphical Perception:Theory, Experimentation, and Application
to the Development of Graphical Methods. Cleveland and McGill. common scale 189
to the Development of Graphical Methods. Cleveland and McGill. common scale 190
to the Development of Graphical Methods. Cleveland and McGill. common scale 191 192
Journ. American Statistical Association 79:387 (1984), 531–554.] Journ. American Statistical Association 79:387 (1984), 531–554.] Journ. American Statistical Association 79:387 (1984), 531–554.] http://persci.mit.edu/gallery/checkershadow
Relative luminance judgements Relative color judgements Relative color judgements
• perception of luminance is contextual based on contrast with surroundings • color constancy across broad range of illumination conditions • color constancy across broad range of illumination conditions
Visualization Analysis & Design

Rules of Thumb (Ch 6)

Tamara Munzner
Department of Computer Science
University of British Columbia
193 194 195 @tamaramunzner
http://persci.mit.edu/gallery/checkershadow http://www.purveslab.net/seeforyourself/ http://www.purveslab.net/seeforyourself/

Rules of Thumb Unjustified 3D all too common, in the news and elsewhere Depth vs power of the plane Depth vs power of the plane
• Guidelines and considerations, not absolute rules • high-ranked spatial position channels: planar spatial position • high-ranked spatial position channels: planar spatial position
– when to use 3D? when to use 2D? – not depth! – not depth!
– when to use eyes instead of memory? Channels: Expressiveness Types And Effectiveness Ranks Channels: Expressiveness Types And Effectiveness Ranks
– when does immersion help? Magnitude Channels: Ordered Attributes Identity Channels: Categorical Attributes Magnitude Channels: Ordered Attributes Identity Channels: Categorical Attributes
– when to use overviews? Position on common scale Spatial region Position on common scale Spatial region
– how long is too long?
Position on unaligned scale Color hue Position on unaligned scale Color hue
– which comes first, form or function?
Length (1D size) Motion Length (1D size) Motion

Tilt/angle Shape Tilt/angle Shape

Area (2D size) Area (2D size)

http://viz.wtf/post/137826497077/eye-popping-3d-triangles Depth (3D position) Depth (3D position)


http://viz.wtf/post/139002022202/designer-drugs-ht-ducqn
197 198
Color luminance 199
Color luminance 200

Depth vs power of the plane Depth vs power of the plane NoColor


unjustified
saturation 3D: Danger of depth Occlusion hides information
Color saturation

• high-ranked spatial position channels: planar spatial position • high-ranked spatial position channels: planar spatial position we don’t really live in 3D: we see in 2.05D
• Curvature • Curvature
occlusion
– not depth! – not depth! –acquire
Volume more
info on image plane quickly from eye movements
(3D size) • Volume
interaction
(3D size) can resolve, but at cost of time and cognitive load

Channels: Expressiveness Types And Effectiveness Ranks Channels: Expressiveness Types And Effectiveness Ranks –acquire more info for depth slower, from head/body motion
Up
Magnitude Channels: Ordered Attributes Identity Channels: Categorical Attributes Magnitude Channels: Ordered Attributes Identity Channels: Categorical Attributes
Right Thousands of points up/down and left/right
Position on common scale Spatial region Position on common scale Spatial region
Away Towards
Position on unaligned scale Color hue Position on unaligned scale Color hue

Length (1D size) Motion Length (1D size) Motion Left


Down

Tilt/angle Shape Tilt/angle Shape

Area (2D size) Area (2D size) We can only see the outside shell of the world

Depth (3D position) Depth (3D position)

[Distortion Viewing Techniques for 3D Data. Carpendale et al. InfoVis1996.]


Color luminance 201
Color luminance 202 203 204

Perspective
Color saturation distortion loses information 3D Color
vs saturation
2D bar charts Tilted text isn’t legible No unjustified 3D example: Time-series data
• Curvature
perspective distortion • 3DCurvature
bars: • text legibility • extruded curves: detailed comparisons impossible
–interferes
Volume with all size channel encodings
(3D size) very difficult
Volume (3D size) to justify! – far worse when tilted from image plane
–power of the plane is lost! – perspective distortion
– occlusion
• faceting into 2D almost • further reading
always better choice
Exploring and Reducing the Effects of Orientation
on Text Readability in Volumetric Displays.
Grossman et al. CHI 2007

[Visualizing the Results of Multimedia Web Search


Engines. Mukherjea, Hirata, and Hara. InfoVis 96]
[Visualizing the World-Wide Web with the Navigational View Builder. Mukherjea
[http://perceptualedge.com/files/GraphDesignIQ.html] and Foley. Computer Networks and ISDN Systems, 1995.]
205 206 207 [Cluster and Calendar based Visualization of Time Series Data. van Wijk and van Selow, Proc. InfoVis 99.] 208
No unjustified 3D example: Transform for new data abstraction Justified 3D: shape perception Justified 3D: Economic growth curve No unjustified 3D
• derived data: cluster hierarchy • benefits outweigh costs when • constrained navigation • 3D legitimate for true 3D spatial data
• juxtapose multiple views: calendar, superimposed 2D curves task is shape perception for steps through carefully • 3D needs very careful justification for abstract data
3D spatial data designed viewpoints – enthusiasm in 1990s, but now skepticism
Actions

– interactive navigation supports – be especially careful with 3D for point clouds or networks
Analyze
synthesis across many Consume
viewpoints Discover Present Enjoy

Targets

All Data Produce


Annotate Record Derive
Trends Outliers Features
tag

[Image-Based Streamline Generation and Rendering. Li and Shen.


[Cluster and Calendar based Visualization of Time Series Data. van Wijk and van Selow, Proc. InfoVis 99.]
IEEE Trans.Visualization and Computer Graphics (TVCG) 13:3 (2007), 630–640.] http://www.nytimes.com/interactive/2015/03/19/upshot/3d-yield-curve-economic-growth.html [WEBPATH-a three dimensional Web history. Frecon and Smith. Proc. InfoVis 1999]
Attributes 209 210 211
Search
212

One Many
No unjustified 2D Distribution Dependency
Eyes
Correlation
beat memory
Similarity
Resolution beats immersion Overview first, zoom and filter, details onTarget
demand
known Target unknown

Location
Lookup Browse
• consider whether network data requires 2D • principle: external cognition vs. internal memory • immersion typically not helpful for abstract data • influential mantra from Shneiderman known

spatial layout Extremes – easy to compare by moving eyes between side-by-side views – do not need sense of presence or stereoscopic 3D
[The Eyes Have It: A Task by Data Type Taxonomy forunknown
Location
Information Visualizations.
Locate Explore
Targets – desktop also better for workflow integration
– especially if reading text is central to task! – harder to compare visible item to memory of what you saw Shneiderman. Proc. IEEE Visual Languages, pp. 336–343, 1996.]
• resolution much more important: pixels are the scarcest resource
– arranging as network means lower information density • implications for animation
All Data Network Data • first wave: virtual reality for abstract data difficult to justify Query
and harder label lookup compared to text lists
Trends Outliers
Topology Features
– great for choreographed storytelling • second wave: AR/MR (augmented/mixed reality) has more promise • overview = summary Identify Compare Summarise
• benefits outweigh costs when topological – great for transitions between two states – microcosm of full vis design problem
structure/context important for task – poor for many states with changes everywhere
[Development of an information visualization
tool using virtual reality. Kirner and Martins.
Proc. Symp. Applied Computing 2000]

– be especially careful for search results, document Paths • consider small multiples instead
collections, ontologies
Attributes
literal abstract
One Many
Spatial Data animation small multiples
Distribution Dependency Correlation Similarity
Shape show time with time show time with space
[A Design Space for Spatio-Data Coordination:Tangible Interaction Devices for Immersive Information Visualisation.
213 214 215 216
Cordeil, Bach, Li, Elliott, and Dwyer. Proc. PacificVis 2017 Notes.]
Extremes
Rule of thumb: Responsiveness is required Rule of thumb: Responsiveness is required Rule of thumb: Responsiveness is required Rule of thumb: Responsiveness is required
• visual feedback: three rough categories • visual feedback: three rough categories • visual feedback: three rough categories • visual feedback: three rough categories
Network Data
– 0.1 seconds: perceptual processing – 0.1 seconds: perceptual processing – 0.1 seconds: perceptual processing
Topology • subsecond response for mouseover highlighting - ballistic motion • subsecond response for mouseover highlighting - ballistic motion • subsecond response for mouseover highlighting - ballistic motion
– 1 second: immediate response – 1 second: immediate response
• fast response after mouseclick, button press - Fitts’ Law limits on motor control • fast response after mouseclick, button press - Fitts’ Law limits on motor control
Paths – 10 seconds: brief tasks
• bounded response after dialog box - mental model of heavyweight operation (file load)

Spatial Data
Shape

217 218 219 220

Rule of thumb: Responsiveness is required Rule of thumb: Responsiveness is required Rule of thumb: Responsiveness is required Rule of thumb: Responsiveness is required
• visual feedback: three rough categories • visual feedback: three rough categories • visual feedback: three rough categories • visual feedback: three rough categories
– 0.1 seconds: perceptual processing – 0.1 seconds: perceptual processing – 0.1 seconds: perceptual processing – 0.1 seconds: perceptual processing
• subsecond response for mouseover highlighting - ballistic motion • subsecond response for mouseover highlighting - ballistic motion • subsecond response for mouseover highlighting - ballistic motion • subsecond response for mouseover highlighting - ballistic motion
– 1 second: immediate response – 1 second: immediate response – 1 second: immediate response – 1 second: immediate response
• fast response after mouseclick, button press - Fitts’ Law limits on motor control • fast response after mouseclick, button press - Fitts’ Law limits on motor control • fast response after mouseclick, button press - Fitts’ Law limits on motor control • fast response after mouseclick, button press - Fitts’ Law limits on motor control
– 10 seconds: brief tasks – 10 seconds: brief tasks – 10 seconds: brief tasks – 10 seconds: brief tasks
• bounded response after dialog box - mental model of heavyweight operation (file load) • bounded response after dialog box - mental model of heavyweight operation (file load) • bounded response after dialog box - mental model of heavyweight operation (file load) • bounded response after dialog box - mental model of heavyweight operation (file load)
• scalability considerations • scalability considerations • scalability considerations • scalability considerations
– highlight selection without complete redraw of view (graphics frontbuffer) – highlight selection without complete redraw of view (graphics frontbuffer) – highlight selection without complete redraw of view (graphics frontbuffer)
– show hourglass for multi-second operations (check for cancel/undo) – show hourglass for multi-second operations (check for cancel/undo)
– show progress bar for long operations (process in background thread)

221 222 223 224


Rule of thumb: Responsiveness is required Function first, form next Function first, form next Form: Basic graphic design ideas
• visual feedback: three rough categories • dangerous to start with aesthetics • dangerous to start with aesthetics
– 0.1 seconds: perceptual processing – usually impossible to add function retroactively – usually impossible to add function retroactively
• subsecond response for mouseover highlighting - ballistic motion • start with focus on functionality
– 1 second: immediate response – possible to improve aesthetics later on, as refinement
• fast response after mouseclick, button press - Fitts’ Law limits on motor control
– if no expertise in-house, find good graphic designer to work with
– 10 seconds: brief tasks
– aesthetics do matter! another level of function
• bounded response after dialog box - mental model of heavyweight operation (file load)
• visual hierarchy, alignment, flow
• scalability considerations • Gestalt principles in action
– highlight selection without complete redraw of view (graphics frontbuffer)
– show hourglass for multi-second operations (check for cancel/undo)
– show progress bar for long operations (process in background thread)
– rendering speed when item count is large (guaranteed frame rate)
225 226 227 228

Form: Basic graphic design ideas Form: Basic graphic design ideas Form: Basic graphic design ideas Form: Basic graphic design ideas
• proximity • proximity • proximity
– do group related items together – do group related items together – do group related items together
– avoid equal whitespace between unrelated – avoid equal whitespace between unrelated – avoid equal whitespace between unrelated
• alignment • alignment
– do find/make strong line, stick to it – do find/make strong line, stick to it
– avoid automatic centering – avoid automatic centering

229 230 231 232

Form: Basic graphic design ideas Form: Basic graphic design ideas Form: Basic graphic design ideas Form: Basic graphic design ideas
• proximity • proximity • proximity • proximity
– do group related items together – do group related items together – do group related items together – do group related items together
– avoid equal whitespace between unrelated – avoid equal whitespace between unrelated – avoid equal whitespace between unrelated – avoid equal whitespace between unrelated
• alignment • alignment • alignment • alignment
– do find/make strong line, stick to it – do find/make strong line, stick to it – do find/make strong line, stick to it – do find/make strong line, stick to it
– avoid automatic centering – avoid automatic centering – avoid automatic centering – avoid automatic centering
• repetition • repetition • repetition • repetition
– do unify by pushing existing consistencies – do unify by pushing existing consistencies – do unify by pushing existing consistencies – do unify by pushing existing consistencies
• contrast • contrast
– if not identical, then very different – if not identical, then very different
– avoid not quite the same – avoid not quite the same

233 234 235 236

Form: Basic graphic design ideas Best practices: Labelling Rules of Thumb Summary
• proximity • make visualizations as self-documenting as possible • No unjustified 3D
– do group related items together
– avoid equal whitespace between unrelated
– meaningful & useful title, labels, legends
• axes and panes/subwindows should have labels
–Power of the plane
–Disparity of depth
Visualization Analysis & Design
• alignment – and axes should have good mix/max boundary tick marks –Occlusion hides information
– do find/make strong line, stick to it • everything that’s plotted should have a legend –Perspective distortion dangers
– avoid automatic centering – and own header/labels if not redundant with main title
–Tilted text isn’t legible
Arrange Tables (Ch 7) I
• repetition • use reasonable numerical format
– do unify by pushing existing consistencies – avoid scientific notation in most cases • No unjustified 2D
• contrast • Eyes beat memory
– if not identical, then very different • Resolution over immersion
– avoid not quite the same
• Overview first, zoom and filter, details on demand Tamara Munzner
• Responsiveness is required Department of Computer Science
• The Non-Designer’s Design Book, 4th ed. Robin Williams, Peachpit Press, 2015.
• Function first, form next University of British Columbia
– fast read, very practical to work through whole thing
237 238 239 @tamaramunzner
[https://xkcd.com/833/]
Dataset Types Dataset Types Arrange Tables
Focus on Tables Keys and values Tables Networks Keys
Fields and valuesGeometry (Spatial)
(Continuous) Tables Networks Idiom:
Fields scatterplot
(Continuous) Geometry (Spatial)
Express Values
Dataset
Dataset
Dataset
Dataset Types
Types
Types
Types Dataset Types • key Attributes (columns)
• key
Grid of positions Attributes (columns)
• express
Grid of positions
values (magnitudes)
Items Link Items Link
TablesTypes
Dataset
Tables
Tables
Tables Networks
Networks
Tables
Networks
Networks FieldsFields
Networks
Fields
Fields
Spatial
(Continuous)
(Continuous)
(Continuous)
Geometry
(Continuous) Geometry
Fields
Geometry
Geometry (Spatial)
(Spatial)(Spatial)
(Continuous)(Spatial)
– independent
Geometry (Spatial)
attribute ARRANGE(rows)
TABLES ARRANGE TABLES Cell
– independent attribute Position (rows)
Cell
– quantitative attributes Position
Node Node
Attributes (columns) Grid of positions
Grid of Grid
positions – used as unique index to look up items (item)
EXPRESS VALUES –Attributes
used as unique index to look up items (item)
• no keys, only values Separate, Order, Align Regions
Tables
Attributes (columns)
Attributes
Attributes (columns)
(columns) Networks
Attributes (columns) Fields Gridof
ofpositions
positions
(Continuous) Geometry
Grid of positions(Spatial) EXPRESS VALUES
Cell containing value (columns) Cell containing value Attributes (columns)

Items Link – simple tables: 1 key – simple tables: 1 key


Items
Items
Items
(rows)(rows) Attributes (columns) Items
Link
Link
Link Cell Cell
Cell
Cell
Link
Grid of positions Cell Position Position
Value in cell Value in cell
Separate Order
(rows)
(rows) (rows) Node Node
Node
Node Node
Position
Position – multidimensional
Position tables: multiple keys Multidimensional Table Trees – multidimensional tables: multiple keys Multidimensional Table Trees
Items (item)Link(item)
Cell containing
value value (item)
(item) Cell (columns) (item)
Attributes (columns)
• value SEPARATE, ORDER, ALIGN• REGIONS
value
Cell containing Attributes
(rows) Cell
Cellcontaining
containingvalue
value Cell containing value Attributes
Attributes(columns)
(columns) Attributes (columns) Position
Node SEPARATE, ORDER, ALIGN REGIONS
(item)
Cell containing value
Trees Trees
Value in cell Value in cell
Attributes
Valueinin(columns)
Value cell
cell Value in cell – dependent attribute, value of cell Separate Order
– dependent attribute,
Align
value of cell
Multidimensional Table Table
Multidimensional
Trees
Trees
Multidimensional Table Trees Separate Order
Value in cell Align Value in cell
Multidimensional
MultidimensionalTable
Table
Value in cell • classify arrangements by keys used
Multidimensional Table Trees
– 0, 1, 2, ...
Value in cell
3 Keys1 Key Many2Keys
Keys 3 Keys Many Keys
Value in cell
Value
Valueinincell
cell Value in cell 1 Key 02 KeysTables
Arrange
List Matrix List
Volume Matrix
Recursive Subdivision Volume Recursive Subdivision Axis Orientation
Value in cell
Express Values
Rectilinear Parallel
241 242 243 [A layered grammar of graphics.Wickham. Journ. Computational and Graphical Statistics 19:1 (2010), 3–28.] 244

Arrange Tables Arrange Tables


AXIS ORIENTATION AXIS ORIENTATION Separate, Order, Align Regions
Idiom: scatterplot Idiom: scatterplot Scatterplots:
Separate Encoding
Order moreAlignchannels Scatterplot tasks
Express Values Express Values Parallel Rectilinear
Rectilinear Radial Parallel Radial
• express values (magnitudes) • express values (magnitudes) • additional channels viable since using point marks
– quantitative attributes – quantitative attributes – color 1 Key 2 Keys 3 Keys Many Keys Layout Density
List Matrix Volume Recursive Subdivision

• no keys, only values Separate, Order, Align Regions • no keys, only values Separate, Order, Align Regions – size (1 quant attribute, used to control 2D area) Dense Space-Filling
– data • note radius would mislead, take square root since area grows quadratically
Separate Order Align– data LAYOUTSeparate
DENSITY Order
LAYOUT DENSITY Align Axis Orientation
• 2 quant attribs • 2 quant attribs – shapeRectilinear Parallel Radial
Dense Dense
Spacefilling Spacefilling
– mark: points – mark: points
– channels – channels
1 Key 2 Keys 3 Keys Many Keys 1 Key 2 Keys 3 Keys Many Keys
• horiz + vert position List
• horiz + Matrix
vert position Volume Recursive Subdivision List Layout Density
Matrix Volume Recursive Subdivision
– tasks Dense Space-Filling
ARRANGE TABLES ARRANGE TABLES
• find trends, outliers, distribution, correlation, clusters Arrange Tables
– scalability EXPRESS VALUES EXPRESS VALUES
Axis Orientation Axis Orientation Express Values
• hundreds of items
Rectilinear Parallel Radial Rectilinear Parallel Radial
https://www.d3-graph-gallery.com/graph/bubble_basic.html https://observablehq.com/@d3/scatterplot-with-shapes
[A layered grammar of graphics.Wickham. Journ. Computational and Graphical Statistics 19:1 (2010), 3–28.] 245 [A layered grammar of graphics.Wickham. Journ. Computational and Graphical Statistics 19:1 (2010), 3–28.] 246 247 248

SEPARATE, ORDER, ALIGN REGIONSSEPARATE, ORDER, ALIGN REGIONS


Scatterplot tasks Scatterplot tasks Separate Order Separate Align Some
Order keys Align Some keys: Categorical regions
Separate, Order, Align Regions
• correlation • correlation Separate Order Align
Layout Density Layout Density
Dense Space-Filling Dense Space-Filling 1 Key 02 Keys 3 Keys 1 Key Many Keys
2 Keys 3 Keys Many Keys
List Arrange
Matrix Tables Volume List RecursiveMatrix
Subdivision Volume Recursive Subdivision
Express Values
1 Key 2 Keys 3 Keys
List Matrix Volume
https://www.mathsisfun.com/data/scatter-xy-plots.html AXIS ORIENTATION AXIS ORIENTATION
https://www.mathsisfun.com/data/scatter-xy-plots.html

• clusters/groups, and clusters vs classes Separate, Order, Align Regions


Rectilinear Parallel Rectilinear Radial Parallel Radial
Separate Order Align

Axis Orientation
Arrange Tables
1 Key 2 Keys 3 Keys Many Keys Rectilinear Parallel Radial
List Matrix Volume Recursive Subdivision
Express Values LAYOUT DENSITY LAYOUT DENSITY
https://www.cs.ubc.ca/labs/imager/tr/2014/DRVisTasks/
249 Dense SpacefillingDense 250
Spacefilling
Axis Orientation
251 252

Rectilinear Parallel
Regions: Separate, order, align
Separate, Order, Align Regions
Separated and aligned and ordered Separated and aligned but notRadial
ordered Separated but not aligned or ordered
Separate Order Align • best case • limitation: hard to know rank. what's 4th? what's 7th? •Layout Density
limitation: hard to make comparisons with size (vs aligned position)
Dense Space-Filling
Layout Density
Dense Space-Filling
• regions: contiguous bounded areas distinct1from
Key each other
2 Keys 3 Keys Many Keys
LIGN REGIONS List(for now) Matrix Volume Recursive Subdivision
– separate into spatial regions: one mark per region
• Order
use categorical orAlign
ordered attribute to separate into regions
– no conflict with expressiveness principle for categorical attributes
•Axis
use Orientation
ordered attribute to order and align regions
Rectilinear Parallel 2 Keys
1 Key Radial
3 Keys Many Keys
List Matrix Volume Recursive Subdivision

253 254 255 256


Idiom: bar chart 100 100
Idiom: stacked bar chart Idiom: streamgraph Idiom: streamgraph
• one key, one value 75 75
• one more key • generalized stacked graph • generalized stacked graph
50 50
– data – data – emphasizing horizontal continuity – emphasizing horizontal continuity
25 25
• 1 categ attrib, 1 quant attrib • 2 categ attrib, 1 quant attrib • vs vertical items • vs vertical items
0 0 [Stacked Graphs Geometry & Aesthetics. Byron and Wattenberg. IEEE Trans.Visualization and [Stacked Graphs Geometry & Aesthetics. Byron and Wattenberg. IEEE Trans.Visualization and

– mark: lines – mark: vertical stack of line marks – data Computer Graphics (Proc. InfoVis 2008) 14(6): 1245–1252, (2008).] – data Computer Graphics (Proc. InfoVis 2008) 14(6): 1245–1252, (2008).]

• glyph: composite object, internal structure from multiple marks • 1 categ key attrib (movies) • 1 categ key attrib (movies)
– channels Animal Type Animal Type • 1 ordered key attrib (time) • 1 ordered key attrib (time)
• length to express quant value – channels
20 20 • 1 quant value attrib (counts) • 1 quant value attrib (counts)
• length and color hue
• spatial regions: one per mark – derived data – derived data
15 15 • spatial regions: one per glyph
– separated horizontally, aligned vertically
10 10 – aligned: full glyph, lowest bar component • geometry: layers, where height encodes • geometry: layers, where height encodes
– ordered by quant attrib counts counts
5 5 – unaligned: other bar components
» by label (alphabetical), by length attrib (data-driven) https://www.d3-graph-gallery.com/graph/
• 1 quant attrib (layer ordering) • 1 quant attrib (layer ordering)
0 0 – task barplot_stacked_basicWide.html
– task – scalability
• part-to-whole relationship https://flowingdata.com/2008/02/25/ebb-and-flow-of-box-office-receipts-over-past-20-years/
• compare, lookup values • hundreds of time keys
– scalability: asymmetric
– scalability • dozens to hundreds of movies keys
• for stacked key attrib, 10-12 levels [segments] – more than stacked bars: most layers don’t
• dozens to hundreds of levels for key attrib [bars], hundreds for values 257
• for main key attrib, dozens to hundreds of levels [bars] 258 259 extend across whole chart 260

Idiom: dot / line chart 20


Idiom: dot / line chart 20
Choosing bar vs line charts 60 60 Chart axes: label them!
50 50

• one key, one value 15


• one key, one value 15
• depends on type of key 40
30
40
30 • best practice to label
10 10
– data
5
– data
5
attrib 20
10
20
10 – few exceptions: individual small multiple views could share axis label
• 2 quant attribs • 2 quant attribs – bar charts if categorical 0
Female Male
0
Female Male
0 0
– mark: points – mark: points
– line charts if ordered 60 60
AND line connection marks Animal
betweenType them Animal Type
Year
AND line connection marks Animal
betweenType them Animal Type
Year 50 50

– channels – channels • do not use line charts for 40 40

20 20 20 20 30 30

• aligned lengths to express quant value


15 15
• aligned lengths to express quant value
15 15
categorical key attribs 20 20
10 10
• separated and ordered by key attrib into • separated and ordered by key attrib into – violates expressiveness 0 0
10 10 10 10 10-year-olds 12-year-olds 10-year-olds 12-year-olds
horizontal regions horizontal regions principle
5 5 5 5
– task – task • implication of trend so strong
after [Bars and Lines: A Study of Graphic Communication.
0 0 0 0 Zacks and Tversky. Memory and Cognition 27:6 (1999),
• find trend • find trend that it overrides semantics! 1073–1079.]
– connection marks emphasize ordering of items along – connection marks emphasize ordering of items along – “The more male a person is, the
key axis by explicitly showing relationship
Year between Year key axis by explicitly showing relationship
Year between Year
taller he/she is”
one item and the next one item and the next https://xkcd.com/833/
– scalability – scalability
• hundreds of key levels, hundreds of value levels 261 • hundreds of key levels, hundreds of value levels 262 263 264

Chart axes: avoid cropping y axis Chart axes: avoid cropping y axis Idiom: Indexed line charts Idiom: Gantt charts
• include 0 at bottom left or slope misleads • include 0 at bottom left or slope misleads • data: 2 quant attribs • one key, two (related) values
– some exceptions (arbitrary 0, small change matters) – 1 key + 1 value – data
• derived data: new quant value attrib • 1 categ attrib, 2 quant attribs

– index – mark: line


• length: duration
– plot instead of original value https://www.r-bloggers.com/gantt-charts-in-r-using-plotly/
– channels
• task:
ARRANGE show change over time
TABLES • horiz position: start time
– principle: normalized, not absolute (+end from duration)
EXPRESS VALUES
• scalability – task
ARRANGE TABLES ARRANGE TABLES – same as standard line chart • emphasize temporal overlaps & start/end dependencies
between items
EXPRESS VALUES EXPRESS VALUES
SEPARATE, ORDER, ALIGN REGIONS – scalability
[Truncating the Y-Axis:Threat or Menace? [Truncating the Y-Axis:Threat or Menace? • dozens of key levels [bars]
Correll, Bertini, & Franconeri, CHI 2020.] Correll, Bertini, & Franconeri, CHI 2020.] Separate Order Align
265 266
https://public.tableau.com/profile/ben.jones#!/vizhome/CAStateRevenues/Revenues
267 • hundreds of value levels [durations] 268

SEPARATE, ORDER, ALIGN REGIONSSEPARATE, ORDER, ALIGN REGIONS


Idiom: Slopegraphs Separate Order Separate Align 2Order
Keys Align Idiom: heatmap Heatmap reordering
1 Key 2 Keys 3 Keys Many Keys
• two values • two keys, one value List Matrix Volume Recursive Subdivision
– data – data
• 2 quant value attribs 1 Key 02 Keys 3 Keys 1 Key Many Keys
2 Keys 3 Keys Many Keys • 2 categ attribs (gene, experimental condition)
List Arrange
Matrix Tables Volume List RecursiveMatrix
Subdivision Volume Recursive Subdivision
• (1 derived attrib: change magnitude) • 1 quant attrib (expression levels)
Express Values AXIS ORIENTATION
– mark: point + line – marks: point
• line connecting mark between pts Rectilinear Parallel
• separate and align in 2D matrix Radial
AXIS ORIENTATION AXIS ORIENTATION – indexed by 2 categorical attributes
– channels Separate, Order, Align Regions
• 2 vertical pos: express attrib value Rectilinear Parallel Rectilinear Radial Parallel Radial – channels
Separate Order Align
• (linewidth/size, color) https://public.tableau.com/profile/ben.jones#!/vizhome/Slopegraphs/Slopegraphs • color by quant attrib
– (ordered diverging colormap)
– task
• emphasize changes in rank/value – task
LAYOUT DENSITY
1 Key 2 Keys 3 Keys Many Keys
List Matrix Volume Recursive Subdivision • find clusters, outliers
– scalability Dense Spacefilling
LAYOUT DENSITY LAYOUT DENSITY – scalability
• hundreds of value levels
• dozens of items Dense SpacefillingDense 269
Spacefilling 270 • 1M items, 100s of categ levels, ~10 quant attrib levels 271
https://blogs.sas.com/content/iml/2018/05/02/reorder-variables-correlation-heat-map.html 272
Axis Orientation
Idiom: cluster heatmap Idioms: radial bar chart, star plot
• in addition
Axis Orientation • star plot
– derived data
Visualization Analysis & Design Rectilinear Parallel Radial – line mark, radial axes meet at central point
• 2 cluster hierarchies • radial bar chart 10-year-olds 12-year-olds

– dendrogram – line mark, radial axes meet at central ring


• parent-child relationships in tree with connection line marks
• leaves aligned so interior branch heights easy to compare
Tables (Ch 7) II – channels: length, angle/orientation

– heatmap • bar chart


• marks (re-)ordered by cluster hierarchy traversal – rectilinear axes, aligned vertically
• task: assess quality of clusters found by automatic methods
Layout Density
• accuracy
Tamara Munzner
Department of Computer Science Dense Space-Filling – length not aligned with radial layouts
• less accurately perceived than rectilinear aligned
University of British Columbia
[Vismon: Facilitating Risk Assessment and Decision Making In Fisheries Management. Booshehrian, Möller, Peterman,
273 @tamaramunzner 275 and Munzner. Technical Report TR 2011-04, Simon Fraser University, School of Computing Science, 2011.] 276

Idiom: radar plot “Radar graphs: Avoid them (99.9% of the time)” Idioms: pie chart, coxcomb chart Coxcomb / nightingale rose / polar area chart
• radial line chart original • pie chart • invented by Florence Nightingale:
– point marks, radial layout difficult to interpret – interlocking area marks with angle channel: 2D area varies Diagram of the Causes of Mortality in the Army in the East
• separated & ordered radially, uniform height
– connecting line marks
– accuracy: area less accurate than rectilinear aligned line length
– task: part-to-whole judgements
• avoid unless data is cyclic
• coxcomb chart
– line marks with length channel: 1D length varies
• separated & ordered radially, uniform width
– direct analog to radial bar charts
redesign for • data
rectilinear – 1 categ key attrib, 1 quant value attrib

http://www.thefunctionalart.com/2012/11/radar-graphs-avoid-them-999-of-time.html
[A layered grammar of graphics.Wickham. Journ.
Arrange Tables
277 278 Computational and Graphical Statistics 19:1 (2010), 3–28.] 279 280

Coxcomb: perception Pie charts: perception Pie charts: best practices


Express Values
Pie charts: best practices
• encode: 1D length • some empirical evidence that people • not so bad for two (or few) levels, for part-to-whole task • not so bad for two (or few) levels, for part-to-whole task
• decode/perceive: 2D area respond to arc length • dubious for several levels if details matter
– decode/perceive: not angles
– maybe also areas?… Separate, Order, Align Regions
• nonuniform line/sector width
as length increases • donut charts no worse than pie charts Separate Order Align
10-year-olds 12-year-olds
10-year-olds 12-year-olds
– so area variation is nonlinear wrt nonuniform width as length increases uniform width as length increases

line mark length!


Two types of glyph – lines and stars – are especially useful for temporal displays. F igure displays 1 2
• bar chart safer: uniform width, iconic time series shapes with line- and star- glyphs. The data underlying each glyph is measured at 6 time
so area is linear with line mark 1 Key
points. The line- glyphs are time series plots. The star- glyphs are formed by considering the 6 axes radiating
length
radial & rectilinear bars: uniform width as length increases
[Arcs, Angles, or Areas: Individual Data Encodings in Pie and Donut Charts. List
Skau and Kosara. Proc. EuroVis 2016.] from a common midpoint, and the data values for the row are plotted on each axis relative to the locations
– both radial & rectilinear cases https://eagereyes.org/blog/2016/an-illustrated-tour-of-the-pie-chart-study-results https://eagereyes.org/pie-charts https://eagereyes.org/pie-charts
281 282
Two types of glyph – lines and stars – are especially useful
of the for temporal
minimum displays.ofF the
and maximum igure displays
variable. This1 is
2 283a polar transformation of the line- glyph. 3 284

iconic time series shapes with line- and star- glyphs. The data underlying each glyph is measured at 6 time 3
Pie charts: best practices Idioms: normalized stacked bar chart Idiom: glyphmaps
Axis Orientation
3/21/2014 b . ck . g/ b ck/ a /3886208/

points. The line- glyphs are time series plots. The star- glyphs are formed by considering the 6 axes radiating 3
65 O
35M
45 64

• not so bad for two (or few) levels, for part-to-whole task • task
P

25 44

18 24
30M
14 17
5 13

from a common
•Arrange midpoint,
rectilinear and the
good fordata values for the row are plotted on each axis relative to the locations
Tables
Rectilinear Parallel Radial
U 5
25M

• dubious for several levels if details matter – part-to-whole judgements 20M

Expressand
linear
of the minimum Values
vsmaximum
nonlinear trends
of the variable. This is a polar transformation of the line- glyph.
• normalized stacked bar chart
15M

• terrible for many levels 10M

– stacked bar chart, normalized to full vert height


5.0M

Separate, Order, Align Regions F igure : I con plots for 1 2 iconic time series shapes ( linear increasing, decreasing,3 shifted, single peak, single dip,
0.0
3/21/2014 b . c . g/ b c / a /3886394/
CA T N FL IL PA OH MI GA NC NJ VA WA A MA IN TN MO MD WI MN CO AL SC LA K OR OK CT IA MS AR KS UT NV NM WV NE ID ME NH HI RI MT DE SD AK ND VT DC W

– single stacked bar equivalent to full pie


100%

90%
65 O

Separate Order Align combined linear and nonlinear, seasonal trends with different scales, and a combined linear and seasonal trend) in
E uclidean coordinates, time series icons ( left) and polar coordinates, star plots ( right) .
• high information density: requires narrow rectangle • radial good for cyclic patterns
80%

70% 45 64

• pie chart
60%

50%

25 44 – evaluating periodicity
1 Key 2 Keys 3 Keys Many Keys
The paper is structured as follows. S ection 2 describes the algorithm used to create glyphs- maps. S ec-
40%

– information density: requires large circle List Matrix Volume Recursive Subdivision

Layout Density
30%
18 24

20%
14 17 [Glyph-maps for Visually Exploring Temporal Patterns in Climate Data and Models.Wickham,
Hofmann,Wickham, and Cook. Environmetrics 23:5 (2012), 382–393.]
3/21/2014 b . c . g/ b c / a /3886394/
10%

0%
5

U
13

F igure : I con plots for 1 2 iconic time series shapes ( lineartionincreasing,


discusses their
3 perceptual
decreasing, properties,
shifted, single including
peak, single dip, the importance of a visual
3 reference grid, and of
UT T ID A NV GA AK MS NM NE CA OK SD CO KS NC AR LA IN IL MN DE HI SCMO VA IA TN K AL AMD ND OH I OR NJ MT MI FL N DC CT PA MA V RI NH ME VT
100%

65 O

combined linear and nonlinear,


Axis Orientation seasonal trends with different scales, and a combined linear and seasonal trend) in
carefully consideration of scale. L arge data and the interplay of models and data are discussed in S ection 4 .
3/21/2014 b . c . g/ b c / a /3887235/

Dense Space-Filling
90%

E uclidean coordinates, time series icons ( left) and polar coordinates, star plots ( right) .
80%

Rectilinear Parallel Radial


70% 45 64

65 5

M any spatiotemporal data sets have irregular spatial locations, and S ection 5 discusses how glyph- maps can
60%
45-64 5-13

50%
14-17
25 44
40%

http://bl.ocks.org/mbostock/3886208,
1 -24

The paper is structured as follows. S ection 2 describes the algorithm


be adjusted usedoftodata.
for this type create glyphs-
Three maps. are
datasets S ec-
used for examples:
30%
18 24
25-44

http://bl.ocks.org/mbostock/3887235,
h ://b . ck . g/ b ck/ a /3886208/ 1/1

https://eagereyes.org/pie-charts
20%
14 17

285 286 287 288


10% 5 13

0%
UT T ID A NV GA AK MS NM NE CA OK SD CO KS NC AR LA IN IL MN DE HI SCMO VA IA TN K AL AMD ND OH I OR NJ MT MI FL N DC CT PA MA V RI NH ME VT
U 5
http://bl.ocks.org/mbostock/3886394.
Idiom: SPLOM Idioms: parallel coordinates
Table Scatterplot Matrix Parallel Coordinates Idioms: parallel coordinates
Table Scatterplot Matrix Parallel Coordinates Task: Correlation
SPLOMs: scatterplot matrices Math Physics Dance Drama Math Physics Dance Drama Math Physics Dance Drama Math Physics Dance Drama

• scatterplot matrix • scatterplot limitation 85


90
95
80
70
60
65
50
Math
100 • scatterplot limitation 85
90
95
80
70
60
65
50
Math
100 • scatterplot matrix
(SPLOM) – visual representation with65orthogonal
50 90 axes90
90
80
– visual representation with
65 orthogonal
50 90 axes
90
90
80 – positive correlation
Physics Physics
50 40 95 80 50 40 95 80
– can show only two attributes with spatial 70 – can show only two attributes with spatial 70

nin
https://www.mathsisfun.com/data/scatter-xy-plots.html

– rectilinear axes, 40 60 80 90 40 60 80 90 • diagonal low-to-high

e
60 60
position channel position channel

ch
50 50
– negative correlation

ar
point mark Dance Dance

ac
40
• alternative: line up axes in parallel to show 40

te
r
ist
– all possible pairs of axes
30 30
• diagonal high-to-low

ics
Drama
20
many attributes with position Drama
20

of
10 10
– uncorrelated: spread out

Ab
– scalability Arrange Tables – item encoded with a line with n segments Arrange Tables Arrange Tables

alo
0 0
Math Physics Dance Drama Math Physics Dance Drama

ne
• one dozen attribs Express Values – n is the number of attributes shown Express Values • parallel coordinates Express Values

(s
ea
Arrange Tables Table Scatterplot Matrix Parallel Coordinates Table Scatterplot Matrix Parallel Coordinates

sn
• dozens to hundreds of • parallel coordinates – positive correlation

ail
)s
Math Physics Dance Drama Math Physics Dance Drama
items Math Physics Dance Drama
– parallel axes, jagged line for item Math Physics Dance Drama
• parallel line segments
Separate, Order, Align Regions
Math Separate, Order, Align Regions
Math Separate, Order, Align Regions
Express Values 85
90
95
80
70

Separate
60
65
50
Order Align
100
– rectilinear
90
axes, item as point
85
90
95
80
Separate
70
60
65
50
Order Align
– negative
90
100
correlation Separate Order Align
Wilkinson et al., 2005 65 50 90 90
Physics • axis ordering
80 is major challenge 65 50 90 90
Physics • all segments cross at halfway point
80
50 40 95 80 50 40 95 80
– scalability 70 70
40 60 80 90 60 40 60 80 90 – uncorrelated
60
• dozens 50 of attribs 50
Dance 1 Key 2 Keys 3 Keys Many Keys Dance 1 Key 2 Keys • scattered
3 Keys crossings
Many Keys 1 Key
after [Visualization Course Figures. McGuffin, 2014. List Matrix • hundreds
Volume40 of Recursive
items Subdivision after [Visualization Course Figures. McGuffin, 2014. List Matrix 40
Volume Recursive Subdivision [Hyperdimensional Data Analysis Using Parallel Coordinates.
List
30 30
Wegman. Journ. American Statistical Association 85:411
289 http://www.michaelmcguffin.com/courses/vis/] 290 http://www.michaelmcguffin.com/courses/vis/] 291 (1990), 664–675.] 292

Separate, Order, Align Regions


20 20
Drama Drama
10 10

Parallel coordinates, limitations Orientation limitations Axis Orientation Math Physics Dance Orientation
Drama limitations
0 Axis Orientation Math Physics Dance Orientation
Drama limitations 0 Axis Orientation

Separate Order Align Rectilinear Parallel Radial Rectilinear Parallel Radial Rectilinear Parallel Radial
• visible patterns only between neighboring axis pairs • rectilinear: scalability wrt #axes • rectilinear: scalability wrt #axes • rectilinear: scalability wrt #axes
• how to pick axis order? • 2 axes best, 3 problematic, 4+ impossible • 2 axes best, 3 problematic, 4+ impossible • 2 axes best, 3 problematic, 4+ impossible

– usual solution: reorderable axes, interactive exploration Layout Density • parallel: unfamiliarity, training time Layout Density • parallel: unfamiliarity, training time Layout Density
– same weakness as many other techniques Dense Space-Filling Dense Space-Filling • radial: perceptual limits Dense Space-Filling
• downside of interaction: human-powered search 1 Key 2 Keys 3 Keys Many Keys – polar coordinate asymmetry
– some algorithms proposed,
parallel none fully solve
coordinates List Matrix Volume Recursive Subdivision Arrange Tables
• angles lower precision than length
Arrange Tables
Express Values • nonuniform sector width/size depending on radial distance
Express Values
– frequently problematic How?
Encode Manipulate Facet Reduce
• but sometimes can be deliberately exploited!
Separate, Order, Align Regions
Axis Orientation Separate, Order, Align Regions Separate Order Align
– for 2 attribs of very unequal
Arrange importance
Express Separate
Change Juxtapose Filter

Rectilinear Parallel Radial Separate Order Align


Select Partition Aggregate
Order Align
[Uncovering Strengths and Weaknesses of Radial Visualizations - an Empirical Approach.
293 294 1 Key 295 2Diehl,
Keys Beck and Burch. IEEE TVCG (Proc.
3 Keys InfoVis)
Many 16(6):935--942, 2010.]
Keys 296

47 Protovis
List Matrix Volume Recursive Subdivision

Layout density Idiom: Dense software overviews 1 Key


List
2 Keys
Matrix
3 Keys
Volume
Arrange
Many Keys
Arrange Tables
Recursive
tables
Subdivision
Use
How?
How? Navigate
How?
Superimpose Embed

Encode Manipulate Facet Reduce


• data: text Express Values Axis Orientation
Encode Manipulate
Encode Facet Reduce
Manipulate Facet Reduce

Arrange Map Change


Arrange Juxtapose ChangeFilter
– text + 1 quant attrib per line Rectilinear Parallel Radial Arrange from Change
categorical and ordered JuxtaposeJuxtapose Filter
Filter
Express Separate Express Separate

Layout Density • derived data: Axis Orientation Arrange Tables


Arrange Tables Separate, Order, Align Regions
Express Separateattributes
Color
– one pixel high line Rectilinear Parallel Radial
Express Values Order Align
Hue
Select
Order
Saturation
Align Luminance
Partition Select Aggregate Partition Aggregate
Express Values Separate Order Align
Dense Space-Filling – length according to original
Layout Density
Order Align Select
Size, Angle, Curvature, ... Partition Aggregate

• color line by attrib Separate, Order, Align Regions Dense Space-Filling


Use Use
Navigate Superimpose Navigate
Embed Superimpose Embed

Separate, Order, Align Regions Shape


• scalability Separate Order Align 1 Key
List
2 Keys 3 Keys Many Keys
What?
How? Layout Density Separate Order Align
Matrix Volume Recursive Subdivision Use
– 10K+ lines Map Map Navigate Superimpose Embed
from categorical and ordered Motion
from categorical and ordered Why?
Encode Manipulate Facet Reduce
Dense Space-Filling attributes
Direction, Rate, Frequency, ...
attributes
How?
Arrange Change Juxtapose Filter Color
Axis1Orientation
Key 2 Keys 3 Keys Many Keys Color
Hue Saturation Luminance
Express Separate 1List
Key 2Matrix
Keys 3Volume
Keys Recursive
Many Subdivision
Keys Hue Saturation Luminance
Rectilinear Map
List Matrix Parallel
Volume RadialSubdivision
Recursive
from categorical
Size, Angle, Curvature, and
... ordered Size, Angle, Curvature, ...
Order Align Select Partition Aggregate attributes
297 [Visualization of test information to assist fault localization. Jones, Harrold, Stasko. Proc. ICSE 2002, p 467-477.]
Axis Orientation 298 299 Color 300
Shape
Axis Orientation Shape
Rectilinear Parallel Radial Hue Saturation Luminance What?
What?

Rectilinear Parallel RadialDensity


Chart axes Motion dual-axis line charts
Idiom:
Use
How? Navigate Superimpose Embed Layout Motion Why?
How? How? Direction, Rate, Frequency, ... Why?
Encode
Encode Manipulate
Encode Manipulate
Facet Facet
Reduce
Manipulate Facet Reduce
Reduce Dense Space-Filling Size, Angle, Curvature, ...
Direction, Rate, Frequency, ...
How?

Map
• labelled axis is critical • controversial How?
Arrange Change
Arrange Juxtapose ChangeFilter
Arrange Change JuxtaposeJuxtapose Filter
Filter
Express
Express
Separate from categorical and
Express
Separateattributes
ordered
Separate
Visualization Analysis & Design Layout Density
Layout Density
• avoid cropping y-axis – acceptable if commensurate
Shape
– beware, very easy to mislead!
Color Dense Space-Filling – include 0 at bottom left What?
Order Align
Hue
Select
Order
Saturation
Align Luminance
Partition Select Aggregate Partition Aggregate Dense Space-Filling
– or slope misleads

Use
Order Align Select
Size, Angle, Curvature,
Use
... Partition Aggregate
Tables (Ch 7) III Motion
Direction, Rate, Frequency, ...
Why?

Navigate Superimpose Navigate


Embed Superimpose Embed How?
Shape
What?
Use
Map Map Navigate Superimpose Embed
from categorical and ordered Motion
from categorical and ordered Why?
Direction, Rate, Frequency, ...
attributes
attributes
How?
Color Color
Hue
Map
Saturation Luminance Hue Saturation Luminance Tamara Munzner
from categorical
Size, Angle, Curvature, and
... ordered Size, Angle, Curvature, ... Department of Computer Science
attributes University of British Columbia
Color Shape 301 @tamaramunzner http://www.thefunctionalart.com/2015/10/if-you-see-bullshit-say-bullshit.html 303 304
Shape
Idiom: connected scatterplots Choosing line chart aspect ratios Choosing line chart aspect ratios Choosing line chart aspect ratios
• scatterplot with line • 1: banking to 45 (1980s) • 2: multi scale banking to 45 (2006) • 3: arc length based aspect ratio (2011)
– frequency domain analysis to find ratios
connection marks – Cleveland perceptual argument: most accurate angle judgement at 45 – minimize the arc length of curve
• FFT the data, convolve with Gaussian to smooth
– popular in journalism overall while keeping the area of the plot constant
– find interesting spikes/ranges in power spectrum
– horiz + vert axes: value attribs • cull nearby regions if similar, ensure overview
– parametrization and scale invariant
– line connection marks: – create trend curves (red) for each aspect ratio – symmetry preserving
temporal order What? – robust & fast to compute
– alternative to dual-axis charts weeklyDatasets Attributes
• horiz: time
Data Types
• Attribute
meta-points
Types
from this progression
• vert: two value attribs
Items Attributesdaily Links Positions Grids –Categorical
young field; prescriptive advice changes rapidly
• empirical study
– reasonable defaults required deep dive into
– engaging, but correlation unclear Data and Dataset Types perception meets math Arc
Length Banking to 45 Multiscale Banking
Tables Networks & Fields Geometry Clusters, Ordered
[The Connected Scatterplot for Presenting Paired Time Series. [Multi-Scale Banking to 45 Degrees.
Haroz, Kosara and Franconeri. IEEE TVCG 22(9):2174-86, 2016.] http://steveharoz.com/research/connected_scatterplot/
305 306
Heer and Agrawala, ProcTrees
InfoVis 2006] Sets, Lists
307
Ordinal
[Arc Length-Based Aspect Ratio Selection.Talbot, Gerth, and Hanrahan. Proc InfoVis 2011] 308
https://github.com/jennybc/r-graph-catalog/tree/master/figures/fig07-01_sunspot-data-aspect-ratio-1 https://github.com/jennybc/r-graph-catalog/tree/master/figures/fig07-02_annual-report-aspect-ratio-2
Items Items (nodes) Grids Items Items

Breaking conventions Network data Attributes Links


Attributes
Positions
Attributes
Positions
Network
Quantitative
tasks: topology-based and attribute-based
• presentation vs exploration • networks Dataset Types • topology based tasks
Dataset Types
– engaging/evocative
– inverted y axis
Visualization Analysis & Design – model relationships
between things Tables
Tables
Networks
Spatial
Networks
Fields (Continuous)
– find paths
Ordering
Fields (Continuous) DirectionGeometry (Spatial)
–Sequential
find (topological) neighbors
Attributes (columns) Grid of positions

• blood drips down on Poe • aka graphs Attributes (columns)


Items
Grid of positions
Link – compare centrality/importance measures
Cell
Link
– two kinds of items, Items (rows) Position

Network Data (Ch 9)


Cell
(rows)
Node
Node
(item) –Diverging
identify clusters / communities
both can have attributes Cell containing value
(item) Attributes (columns)
Cell containing value Attributes (columns)
• attribute based tasks (similar to table data)

Conflicting Criteria
• nodes Value in cell
Value in cell

• links Multidimensional Table


Multidimensional Table
Trees
Trees –Cyclic
find distributions, ...
• tree • combination tasks, incorporating both
– special case Value in cell
– example: find friends-of-friends who like cats
Value in cell
Tamara Munzner – no cycles • topology: find all adjacent nodes of given node
Department of Computer Science • one parent per node • attributes: check if has-pet (node attribute) == cat
https://public.tableau.com/profile/ben.jones#!/
University of British Columbia Geometry (Spatial)
vizhome/EdgarAllanPoeBoring/EdgarAllenPoeBoring https://public.tableau.com/profile/ben.jones#!/vizhome/EdgarAllanPoeViz/EdgarAllanPoeViz
@tamaramunzner
Explicit Graph Representations
309 311 312
[Slide inspired by Ben Jones]

Node-link diagrams CriteriaMinimum


for goodnumber
node-link layouts Criteria conflict Position
Optimization-based layouts
• nodes: point marks
Node-link diagrams: vertex = point, edge = line/arc

A
• minimize
of edge crossings Space
Conflicting Criteria
utilization
• most criteria NP-hard individually
Dataset Availability • formulateWhat?
layout problem as optimization problem
• links: line marks Free – edge crossings, node overlaps • many criteria directly conflict Static
with each other Dynamic • convert criteria into weighted cost function
vs. Why?
– straight lines or arcs – distances between
vs.topological neighbor nodes – F(layout) = a*[crossing counts] + b*[drawing space used]+...
B C How?
– connections between nodes Styled
– total drawing area • use known optimization techniques to find layout at minimal cost
– edge bends
Uniform edge Symmetry
• intuitive & familiar Minimum number
Space utilization
– energy-based physics models
– most common D E • maximize length of edge crossings
– force-directed placement
Fixed
– many, many variants – angular distance between different edges vs. vs.
– spring embedders
Arrange Networks and Trees – aspect ratio disparities Uniform edge Symmetry
HJ Schulz 2006

• emphasize symmetry length


Node–Link Diagrams
Connection Marks
NETWORKS TREES
Force Directed Layouts – similar graph structures should look similar in layout
Schulz 2004
!"#$"%#& '!"#$%&'( '()*+,#-./.%)- '0)+$*#

Physics model:
Schulz 2004

edges = springs, 313 314


*0123 !"#$%&'(#%$)%*+,#-./ 315 316

Adjacency Matrix
Derived Table vertices = repulsive magnets
Force-directed placement
NETWORKS TREES
Force-directed placement properties Idiom: force-directed placement Idiom: circular layouts / arc diagrams (node-link)
• physics model Expander
• strengths • visual encoding • restricted node-link layouts: lay out nodes around circle or along line
– links = springs pull together (pushing nodes apart) – reasonable layout for small, sparse graphs – link connection marks, node point marks • data
– Enclosure
nodes = magnets repulse apart – clusters typically visible • considerations – original: network
Force Directed Layouts
Containment Marks
NETWORKS TREES Spring Coil
– edge length uniformity – spatial position: no meaning directly encoded – derived: node ordering attribute (global computation)
• left free to minimize crossings
• algorithm
(pulling nodes together)
• weaknesses • considerations: node ordering crucial to avoid
– proximity semantics? excessive clutter from edge crossings
Physics model:
– place vertices in random locations – nondeterministic • sometimes meaningful
edges– = springs,
while not equilibrium – computationally expensive: O(n^3) for n nodes – examples: before & after barycentric ordering
• sometimes arbitrary, artifact of layout algorithm
vertices• =calculate
repulsive magnets
force on vertex • each step is n^2, takes ~n cycles to reach equilibrium • tension with length http://mbostock.github.com/d3/ex/force.html
– sum of – naive FD doesn't scale well beyond 1K nodes
https://bl.ocks.org/steveharoz/8c3e2524079a8c440df60c1ab72b5d03
– long edges more visually salient than short
» pairwise repulsion of all nodes
– iterative progress: engaging but distracting • tasks 12%3'3%,45#'6)$*#78%$#*.#8'9$/42'32)&3'*2/$/*.#$'*)7)**+$#-*#'%-'!"#$%&#'()*+"#:';'42<3%*/5'3%,+5/.%)-')6
» attraction between connected nodes
Expander *2/$9#8'4/$.%*5#3'/-8'34$%-93'45/*#3'$#5/.#8'*2/$/*.#$3'%-'*5)3#$'4$)=%,%.<>'&2%5#'+-$#5/.#8'*2/$/*.#$3'/$#'6/$.2#$
/4/$.:'?/<)+.'/59)$%.2,'%-34%$#8'@<'1%,'(&<#$'/-8'12),/3'A/B)@3#-:'(/./'@/3#8')-'*2/$/*.#$'*)/44#/$#-*#'%-
(pushing nodes apart) – explore topology; locate paths, clusters C%*.)$'D+9)E3'!"#$%&#'()*+"#>'*),4%5#8'@<'()-/58'F-+.2:
• move vertex by c * vertex_force
• scalability )*+,-'./*0'

http://mbostock.github.com/d3/ex/force.html != !!"#!"#$%&!$!'()*

Spring Coil
317 318 – node/edge density E < 4N !8
!3
!!!!!&+#,&%!$!-)).
! 319 http://profs.etsmtl.ca/mmcguffin/research/2012-mcguffin-simpleNetVis/mcguffin-2012-simpleNetVis.pdf 320
!R !!"#!/0102!$!$345/61+4/6%+,0278)9:.
Matrix
Adjacency matrixRepresentations
representations Adjacency matrix examples Order
Node orderCritical!
is crucial: Reordering Matrix Representations
Adjacency matrix
• derive adjacency
Instead matrix
of node link from
diagram, networkmatrix
use adjacency Examples: •˜
A
A B C D E
A
B C B
Arrange Networks and Trees
C
Node–Link Diagrams
Connection Marks D
NETWORKS TREESD E E

i i

Adjacency Matrix i i good for


Welltopology
suited fortasks badNot
forsuited
topology
for tasks
Derived Table
related to neighborhoods
neighborhood-related TBTs related to paths
path-related TBTs
NETWORKS TREES
(node 1-hop neighbors) van Ham et al. 2009
Shen et al. 2007

Hybrid Explicit/Matrix
HJ Schulz 2007
321 7.1. Using Space HJ Schulz 2007
322 135 https://bost.ocks.org/mike/miserables/ 323 324

Structures
Enclosure visible in both Idiom: adjacency matrix view Node-link vs. matrix comparison Idiom: NodeTrix
Containment Marks
NETWORKS TREES • data: network • node-link diagram strengths • hybrid nodelink/matrix
– transform into same data/encoding as heatmap – topology understanding, path tracing • capture strengths of both
– intuitive, flexible, no training needed
• derived data: table from network [NodeTrix: a Hybrid Visualization of Social Networks.
Henry, Fekete, and McGuffin. IEEE TVCG (Proc. InfoVis)
• adjacency matrix strengths
– 1 quant attrib 13(6):1302-1309,
Figure 7.5: Comparing matrix and2007.]
node-link views of a five-node network.
a) Matrix view. b) Node-link view. From [Henry et al. 07], Figure 3b and
– focus on edges rather than nodes
• weighted edge between nodes 3a. (Permission needed.)
– layout straightforward (reordering needed)
– 2 categ attribs: node list x 2 the number of available pixels per cell; typically only a few levels would http://www.michaelmcguffin.com/courses/vis/patternsInAdjacencyMatrix.png
– predictability, scalability
• visual encoding
be distinguishable between the largest and the smallest cell size. Network
matrix views can also show weighted networks, where each link has an as-
sociated quantitative value attribute, by encoding with an ordered channel
– some topology tasks trainable
– cell shows presence/absence of edge such as color luminance or size.
• empirical study
For undirected networks where links are symmetric, only half of the
• scalability matrix needs to be shown, above or below the diagonal, because a link
from node A to node B necessarily implies a link from B to A. For directed
– node-link best for small networks
[NodeTrix: a Hybrid Visualization of Social Networks.
Henry, Fekete, and McGuffin. IEEE TVCG (Proc. InfoVis) NodeT
13(6):1302-1309, 2007.] [Henry et a
– 1K nodes, 1M edges networks,
[Points ofthe
view:full square
Networks. matrixand
Gehlenborg hasWong.
meaning, because
Nature Methods links can be asym-
9:115.]
metric. Figure 7.5 shows a simple example of an undirected network, with
– matrix best for large networks Marks As Items/nodes Marks As Items/nodes
a matrix view of the five-node dataset in Figure 7.5a and a corresponding • if tasks don’t involve path tracing! Points Lines Points Areas
node-link view in Figure 7.5b. [On the readability of graphs using node-link and matrix-based representations: a
Matrix views of networks can achieve very high information density, up controlled experiment and statistical analysis. Ghoniem, Fekete, and Castagliola. !"#$"%#& '!"#$%&'( '()*+,#-./.%)- '0)+$*#

http://www.michaelmcguffin.com/courses/vis/patternsInAdjacencyMatrix.png 325
to a limit of one thousand nodes and one million edges, just like 326
cluster Information Visualization 4:2 (2005), 114–135.] 327 328
heatmaps and all other matrix views that uses small area marks. #-./0 !"#$%&'()*+,$$

Node-link trees Idiom: radial node-link tree Link marks: Connection and containment

G/8$ <)%=B

3("*=$8-#$"< "'/,(
F%8$ %($8
@/#*$>

D"8)"&B#$$<"'/
2)#*&$ 2)#*&$
>$ %8#
:, %8

B#$$6"9<"'/,(
Technique network matrix view

D"%8/0< "'/,(
F*)*&$B#($8 <"'/,(
3("* D"
http://mbostock.github.com/d3/ex/tree.html

A" *=) <" '/


)#$* "0<"'/,((
Marks As Links Marks As Links

&$8 78-?)+< "' $#

/.# %. <" '/,,(

B#$$ <"'

A)$<" '/,(
=$ 8- 8)"& H$

#$$<" '/,(
K#" @)+5

$$< "'/
Data Types network

<"'/ ,(
95 $ '$

.$ D/ /, (
#$ "<<" H$ &$ #
>)+ B#$
N)+)(" %* $ @)&( #

%(#" &)('
/,(

-..&/0$#"()1$2&,+($#
,( I9$#"(/ #3$E,$
A#/
35 9 $ #( 7 % *

"H $& &$ #

2/00,%)('3(#,*(,#$
,(
Derived Data table: network nodes as keys, link status between two

<"
H)&)( $@)&( $ #

,($ #
3)C9 $ 7 % */*/ 88 $ #
• Reingold-Tilford • data • marks as links (vs. nodes) Containment Connection Containment

($#
" '7 % /

'@)&( $#
$ 7 % */ 8 $$ #
@)+ / *"

4)$#"#*5 )*"&2&,+
2/

I9$#"(/#3;)(*5

%$++2$

#
%

"% =$
5$

2, (
&/ #7 (/ #( #()/)/ %

$#
*/ 8 $ # #

3/#(I9$#"(/#
nodes as values

:)O

I9$#" (/#<)+

(5+
'$ >)+)+(/

/;6)%$
6$#.$ 78.$

#$$
8$

6 ($ #9 %($# #9 /& (/ #
"%*
>)+ (/ #(

G " (# /& 9/ "(/#


)/:
$+(A"

I , 0 )?F% "(/# &" (/ #


I9$

%)% .B

F% "($F F% ($ 9/ &"
:$(;$$%

&$ F% / &" &" (/ #


&>

*(" (F% ($ ($ #9 (/ #
% . #9 #9 / / &" (/
<)%=>)+(

"(

#
($ (/ # #
(/
View Comp. space: area marks in 2D matrix alignment

&"'/ ,(

D$/ )% *(F%#F% ($#9 / &"


)/ % %

*(D
%*$ 2/&/#'F%($#
6" ?@&
#"(/#

/ &"
%*$

35 /#(
FI9$ T&($

39 "%
– tidy drawings of trees – tree – common case in network drawing

-+9$

#9
A H J$ H $ ($
(
&" H$ #

-##"
#" (/ #
Scalability nodes: 1K

$%

&

>
*/
<$ <$

8 )+

8$
.$ .$
N)+

(/
%8 %
,"

#
edges: 1M

N)+,"/9 $#"(
#()/ $

A #" 8 ($ ,$
%
&)C

D" 8 F(
35 <$ $#

)C" ()/
• exploit parent/child structure
3$ B/ " ()

– 1D case: connection
"9 #(

A" *5 $ / &" $E
%
• encoding

*&,+($#
.

% .$ 0
$ &$ * / &( / % 7 $ % 1$
78. FDD$ %

3 * , + & &" H &$


/% #

&)C" ()/ /#

.#" 95

F3 ($ #9 ()/ %3
)9 8 (2 #($
$D $ % 88 $ #$ >"()/ % 71 1$ %

/9 ()0

)% %* .
$ #+ $ ? 1$

@, )%
-##/$% 8$ (" 71 $ % (

3 " &&$ ,
$ #$ # $ #( 8 B / % #

7 "+
B#$ 7 $ ( % 1 )($ < 2 #($ $ #

%
;B' #$ # # $ : 1$ % % (

)()/ *$ #
% + , $ % , &$
9$ 3*" # %( 2/$ &)09 5 6/ % 1$1$ #(

B#" $ E 5 $ 8 $
, (
&$ : B )&8 $ % $ 71$ > #" (" 2 / %

%
.........................................................................
– allocate space: compact but
#$ # K " G2
G/8 #$)% 8 )% $ )()/ %

&$
• ex: all node-link diagrams
F> I

.$
78. $3 % 8 $ . $1 % + +)()/ L3

%8
– link connection marks
>" $39#9#)($ # $% B#"#" %$ $ %

+
#+

"%" &'()*
(" 39 )($ (+ B ; #($ &8 "
>" (" #)($ B
% 1$ )$ $ 0
<)
>" ("+( */ " (" @3*5

without overlap 7.1.3.3 Multiple Keys: Partition and Subdivide When a dataset has only

" ($
B/ > " (" $( #*$
3$ &$* /&()92/% 8" > "("3 /,

• emphasizes topology, path tracing

)0
("
A" %S/()/ %2/% (#/ > "("3 H&$
/02/ (#/ &&

"%
> (" B" )&

– point node marks


%(#/ & >" (" M(
one key, then it is straightforward to use that key to separate into one region 4/1$#2
7?9" %82
F2/ %(#/
/%(#/&&
/%(#/
1)+
8"
("
>"
>)# ('3 9#)(
$
#)($
>#".2/%(#/ & <)% $39 )($

• rectilinear and radial variants


Trees
2/%(#/ &<)+(& */%(#/&+ D$*(39#

• networks and trees


2/%(#/& 8)+9 &"' B$?(3 9#)($
2&)*=2/%(#/&
!$? @&"#$N)+

– radial axis orientation


-%*5/#2/%(#/&

Node-Link Containment
>#".@/#*$

!" #$
2"#($+)"%-?$ + 95'+)*+ K#"1)('
-?)+<"H $& "?)+ F@/#* @/#*$
G:/ $

– 2D case: containment
-?)+K#)8<)%$
-?)+ 3(#)%.+ A" 8'@/#*$
-?$ + 3(" (+#( 3)0#()*&$
[Tidier drawing of trees. Reingold and Tilford. IEEE Trans. 3/
$+ , ()& 39 #)%,&" ()/ %

• angular proximity: siblings


39 #)% .
35 "9$#(' .@/#
A#/9 &$ (($%
Software Eng., SE-7(2):223–228, 1981.]
-.. *$
-%8

i i
9" "()/ + #$ ."

E,
%( " (5 - ($ 7
- #)(5

• ex: all treemap variants

+*"&$
I#)$ 6 0" (5?'

$ #'
(($ : 1$ 0$ ?9 #$
A" &$ ($ 2 )% #" . ()* ++)/
3)C$$A "&$($(($ A#/ " ($ 2 / " #' $ %
&, $ 8 )* H &$ 9 2 / 09 7

• distance from center: depth in tree


"& ($
35 "9 AA"&$( FN"FA#$ " &, "5 $ " (#' >" / , 09 " #)+?9 #$
/# )? 1 $ ($ % ( / +)( / % ++)/

2 " ($ '+ #
2/& " (# )?

> 9 &" ($
0

>)+ ?9 9 #$ +
F7 M() $7
$ 6 " (# )? $/ %

)&

7 ?
-##/ &/ +
>)+ @
" #+ F6 " (#

7 %

()% #$ + +)/
& ?9

" ' #+
• emphasizes attribute values at leaves (size coding)
K

@
– nice algorithm writeup
39

+
6 #$

*( +)/ % F(
FO - &
++

F+ )($ #"
% +$

&$ B'*" &$


i i

< *5
D/ 3 9$
>$ )/

6"("?)0,0
()(" /(3**" &$

6 $(5/ 8+
%

Q, "% ()1$3 "&$


8$ 9

0 %)0,0
I#8)%()&$ 3*"&$&$

% $ #"
6) (
• tasks

3*" $ 3

G/
</. *" &$
G/ $ "

I# #'
<)%$ "#33*" &$

Q,$ .$
*"

*"&$

D"% M()&
"8

3(#)%.
R/#
3,0
N"#)"%*$ N"#)"H&$
" 9 )4

B)0

F3*" &$6"
8
4$ " **

" % 1$ , % ( *(
"&3

" / ()%
(/ $O% (

8 #" .
/%

*
• only trees

# E
8 )+)1
@)H

8
http://billmill.org/pymag-trees/

$
Q, "%

. ($
.
)OO "
Node–Link Diagram Treemap Ela

)+
&(
http://bl.ocks.org/mbostock/4063550

&($ "?
http://bl.ocks.org/mbostock/4339184

0 )%
– understanding topology, following paths

0 8
0/ &
0,
%$ E(
%/
/# $#H '
/#8 $
#"%.*(
+$&$ 1
+(88$
+,H
?/#

+,0
,98"($
P
;5$#$ 1"#)"%*$
• scalability 12#'!"##'3/4)+.'%,53#,#-.6'.2#'7#%-8)39:1%3;)$9'/38)$%.2,';)$'#;<*%#-.='.%94'/$$/-8#,#-.');'3/4#$#9'-)9#6>'12#
9#5.2');'-)9#6'%6'*),5+.#9'?4'9%6./-*#';$),'.2#'$)).='3#/9%-8'.)'/'$/88#9'/55#/$/-*#>'@/$.#6%/-')$%#-./.%)-6

Software
/$#'/36)'6+55)$.#9>'A,53#,#-./.%)-'?/6#9')-'&)$B'?4'C#;;'D##$'/-9'C/6)-'(/"%#6'+6%-8'E+*22#%,'#.'/3>F6'3%-#/$:
.%,#'"/$%/-.');'.2#'7#%-8)39:1%3;)$9'/38)$%.2,>'(/./'62)&6'.2#'G3/$#'*3/66'2%#$/$*24='/36)'*)+$.#64'C#;;'D##$>

– 1K - 10K nodes (with/without labels) )*+,-'./*0' [Elastic Hierarchies: Combining Treemaps and Node-Link Diagrams.
Dong, McGuffin, and Chignell. Proc. InfoVis 2005, p. 57-64.]
$9 $!"#$"%&'()$$$*+,$%$-.
329 330 331 332

Implicit Layout Options Implicit Layout Options Implicit Layout Options


$- $
$/ $!"#$!"##$$$&/01%23(!0!"##45
$Q $$$$$0)'6#47/+,8$"%&'()$&$9-,:5
$M $$$$$0)#;%"%!'3<4'()*+,-)4%8$=5$>$#.+(#)$4%0;%"#<!$$$$=0;%"#<!$/$9$0$-5$%$%0&#;!?.$@5.
$+ $

Idiom: treemap Idiom: implicit tree layouts (sunburst, icicle plot) Idiom: implicit tree layouts (sunburst, icicle plot) Idiom: implicit tree layouts (sunburst, icicle plot)
$R $!"#$&'%A3<%1$$$&/0)BA0&'%A3<%10"%&'%145

Mac: GrandPerspective Windows: Sequoia View $F


$*
9,
99
$$$$$0;"3C#D!'3<4'()*+,-)4&5$>$#.+(#)$7&028$&0E$%$9F,$1$G%!?0HI:.$@5.
$
$!"#$B')$$$&/0)#1#D!4JKD?%"!J50%;;#<&4J)BAJ5
$$$$$0%!!"4JL'&!?J8$"%&'()$1$-5
9- $$$$$0%!!"4J?#'A?!J8$"%&'()$1$-$&$9M,5
9/ $$$0%;;#<&4JAJ5

• data
9Q $$$$$0%!!"4J!"%<)N3"OJ8$J!"%<)1%!#4J$2$"%&'()$2$J8J$2$"%&'()$2$J5J5.

• alternative to connection and containment: position • alternative to connection and containment: position •Arrange
alternative to connection and containment: position
9M $
9+ $&/0C)3<4J00P&%!%PN1%"#0C)3<J8$'()*+,-)4C)3<5$>

Networks and Trees


9R $$$!"#$<3&#)$$$!"##0<3&#)4C)3<5.

Arrange
– treeNetworks and Trees
– show parent-child relationships only through relative positions – show parent-child relationships only through relative positions – show parent-child relationships only through relative positions
Differences? Pros, Cons?Treemap Differences? Pros, Cons?Treemap Differences? Pros, Cons?Treemap
Node–Link Diagrams
– 1 quant attrib at leaf nodes
Node–Link Diagrams
Connection Marks
• encoding
Connection Marks Sunburst Icicle Plot Sunburst Icicle Plot Sunburst Icicle Plot
NETWORKS TREES
NETWORKS
– area TREES
containment marks for hierarchical structure containment position (radial) position (rectilinear) containment position (radial) position (rectilinear) containment position (radial) position (rectilinear)
– rectilinear orientation only leaves visible inner nodes & leaves visible inner nodes & leaves visible only leaves visible inner nodes & leaves visible inner nodes & leaves visible
– size encodes quant attrib
• tasks
Adjacency Matrix Adjacency Matrix
–Derived
queryTable
attribute at leaf nodes https://www.win.tue.nl/sequoiaview/
Derived Table
NETWORKS TREES NETWORKS TREES
– ex: disk space usage within filesystem [Cushion Treemaps. van Wijk and van de Wetering.
Proc. Symp. InfoVis 1999, 73-78.]
• scalability
– 1M leaf nodes
Enclosure Enclosure
Implicit
Containment Marks
Containment Marks
Spatial Position
NETWORKS TREES Inner Nodes and Leaves Visible Only Leaves Visible Inner Nodes and Leaves Visible Only Leaves Visible Inner Nodes and Leaves Visible Only Leaves Visible
333 334 335 NETWORKS TREES 336
Tree drawing idioms comparison Comparison: tree drawing idioms Comparison: tree drawing idioms Comparison: tree drawing idioms
• data shown • data shown • data shown
– link relationships – link relationships – link relationships
– tree depth – tree depth – tree depth
– sibling order – sibling order – sibling order
• design choices • design choices
– connection vs containment link marks – connection vs containment link marks
– rectilinear vs radial layout – rectilinear vs radial layout
Arrange Networks and Trees
– spatial position channels – spatial position channels
Node–Link Diagrams • considerations
Connection Marks
NETWORKS TREES
– redundant? arbitrary?
– information density?

Adress Comput • avoid wasting space


• consider where to fit labels!

Multilevel App
Adjacency Matrix
[Quantifying the Space-Efficiency of 2D Graphical Representations of Trees.
McGuffin and Robert. Information Visualization 9:2 (2010), 115–140.] 337
[Quantifying the Space-Efficiency of 2D Graphical Representations of Trees.
McGuffin and Robert. Information Visualization 9:2 (2010), 115–140.]
Derived Table
NETWORKS TREES 338
[Quantifying the Space-Efficiency of 2D Graphical Representations of Trees.
McGuffin and Robert. Information Visualization 9:2 (2010), 115–140.] Adress Computational Scalability: 339
[Quantifying the Space-Efficiency of 2D Graphical Representations of Trees.
McGuffin and Robert. Information Visualization 9:2 (2010), 115–140.] 340

treevis.net: Many, many options! Arrange networks and trees


Arrange Networks and Trees Multilevel Approaches
Multilevel networks
Node–Link Diagrams Enclosure
Implicit • derive cluster hierarchy of metanodes
on top of original graph nodes
Connection Marks
NETWORKS TREES
Containment
NETWORKS
Marks
Spatial Position
TREES
Visualization Analysis & Design

Adjacency Matrix
Network Data (Ch 9) II
i Derived Table i
NETWORKS TREES
i i

real vertex
virtual vertex
internal spring

166 Enclosure
7. Making Views
Tamara Munzner virtual spring Metanode C
Containment Marks Department of Computer Science external spring
Metanode A Metanode B
NETWORKS TREES
University of British Columbia
[Schulz 2004]
https://treevis.net/ @tamaramunzner

Hierarchical Edge Bundling


341 342 344

Idiom: GrouseFlocks Idiom: sfdp (multi-level force-directed placement) Idiom: hierarchical edge bundling Hierarchical edge bundling
• data: compound network • data: compound graph • data • works for any layout: treemap vs radial
– network – original: network – any layout of compound network
• network: software classes (nodes), import/export between classes (links)
– cluster hierarchy atop it – derived: cluster hierarchy atop it
• cluster hierarchy: class package structure
• derived or interactively chosen Graph Hierarchy 1 Graph Hierarchy 2 Graph Hierarchy 3
• considerations – derived: bundles of edges with same source/destination (multi-level)
• visual encoding – better algorithm for same encoding • idiom: curve edge routes according to bundles
– connection marks for network links technique
• task: edge clutter reduction
– containment marks for hierarchy (a) Original Graph
• same: fundamental use of space
– point marks for nodes • hierarchy used for algorithm speed/quality but How? How?
[Efficient and high quality force-directed graph drawing.
not shown explicitly Hu.The Mathematica Journal 10:37–71, 2005.] Encode Manipulate Facet Reduce Encode Manipulate Facet Reduce
• dynamic interaction
• scalability Arrange Change Juxtapose Filter Arrange Change Juxtapose Filter
– select individual metanodes in hierarchy to expand/ (b) Graph
[GrouseFlocks: Steerable Exploration of Hierarchies Express Separate Express Separate
– nodes, edges: 1K-10K
contract Graph Hierarchy Space. Archambault,
Figure 7.25: GrouseFlocks uses containment to show graph hierarchy struc-
Munzner, and Auber. IEEE TVCG
ture. (a) Original graph. (b) Several
14(4):900-913,
– hairball problem eventually hits
2008.]alternative hierarchies built from the Order Align Select Partition Aggregate Order Align Select Partition Aggregate
same graph. The hierarchy alone is shown in the top row. The bottom row
Bundling Strength
combines the graph encoded with connection with 345
a visual representation http://www.research.att.com/yifanhu/GALLERY/GRAPHS/index1.html 346 [Hierarchical Edge Bundles:Visualization of Adjacency Relations in Hierarchical Data. Danny Holten.TVCG 12(5):741-748 2006]
Holten et al. 2006 347 [Hierarchical Edge Bundles:Visualization of Adjacency Relations in Hierarchical Data. Danny Holten.TVCG 12(5):741-748 2006] 348
of the hierarchy using containment. From [Archambault et al. 08], Figure
3.
Focus on Spatial Use
How?
How? Navigate
How?
Superimpose Embed
Use
How?
How? Navigate
How?
Superimpose Embed

Encode
Encode Manipulate
Encode Manipulate
Facet Facet
Reduce
Manipulate Facet Reduce
Reduce Encode
Encode Manipulate
Encode Manipulate
Facet Facet
Reduce
Manipulate Facet Reduce
Reduce
Dataset
Dataset
Dataset
Dataset Types
Types
Types
Types Dataset Types Arrange Map Change
Arrange Juxtapose ChangeFilter Arrange Map Change Juxtapose ChangeFilter
Arrange Change JuxtaposeJuxtapose Filter
Filter Arrange Arrange
Change JuxtaposeJuxtapose Filter
Filter
Visualization Analysis & Design TablesTypes
Dataset
Tables
Tables
Tables Networks
Networks
Tables
Networks
Networks FieldsFields
Networks
Fields
Fields
Spatial
(Continuous)
(Continuous)
(Continuous)
Geometry
(Continuous) Geometry
Fields
Geometry
Geometry (Spatial)
(Spatial)(Spatial)
(Continuous)
Grid of positions
(Spatial) Geometry (Spatial)SeparateSeparateattributes
Express
Express
Express from categorical and ordered
Separate Express
Express
Separate from
Separateattributes
categorical and
Express ordered
Separate

Attributes (columns) Grid of Grid


positions Color Color
Tables
Attributes (columns)
Attributes
Attributes (columns)
(columns) Networks
Attributes (columns) Fields Gridof
ofpositions
positions
(Continuous) Geometry
Grid of positions(Spatial)
Hue Saturation Hue Saturation
Link Order Align Select
Order Align Luminance
Partition Select Aggregate Partition Aggregate Order Align Select
Order Align Luminance
Partition Select Aggregate Partition Aggregate
Items Items Link Cell
Items
Items Items Link
Link Cell Link
Grid of positions

Spatial Data (Ch 9)


(rows)(rows) Attributes (columns) Cell
Cell Cell Position Position
(rows)
(rows) (rows) Node Node Position
Position
Order Position
Align Select
Size, Angle, Curvature, ... Partition Aggregate Order Align Select
Size, Angle, Curvature, ... Partition Aggregate
Node
Node Node
Items (item)Link(item)
Cell containing
Cell containing value value (item)
(item) Cell (columns)
Attributes (item)
Attributes (columns) Use Use Use Use
(rows) Cell
Cellcontaining
containingvalue
value Cell containing value Attributes
Attributes(columns)
(columns) Attributes (columns) Position Navigate Superimpose Navigate
Embed Superimpose Embed Navigate Superimpose Navigate
Embed Superimpose Embed
Node
(item) Value in cell Value in cell Shape Shape
Cell containing value Attributes
Valueinin(columns)
Value cell
cell Value in cell What? What?
Multidimensional Table Table
Multidimensional Trees Trees Use Use
Multidimensional
MultidimensionalTable
Table Trees
Trees
Multidimensional Table Trees Map Map Navigate Superimpose Embed Map Map Navigate Superimpose Embed
i i Motion Motion
Value in cell from categorical and ordered Why? from categorical and ordered Why?
from categorical and ordered from categorical and ordered
Direction, Rate, Frequency, ... Direction, Rate, Frequency, ...
Multidimensional Table Trees attributes attributes attributes attributes

Tamara Munzner i i
How? How?
Color Color Color Color
Hue Saturation Luminance Hue Saturation Luminance Hue Saturation Luminance Hue Saturation Luminance
Value in cell
Value in cell Map Map
Department of Computer Science Value
Valueinincell
cell Value in cell
from categorical
Size, Angle, Curvature, and
... ordered Size, Angle, Curvature, ... from categorical
Size, Angle, Curvature, and
... ordered Size, Angle, Curvature, ...
University of British Columbia Value in cell attributes attributes
@tamaramunzner 350 Color Shape 351 Color Shape 352
Shape Shape
Spatial data Geographic Map Thematic maps
Interlocking marks
• use given spatial position • show spatial variability of attribute ("theme")
• shape coded – combine geographic / reference map with (simple, flat) tabular data
• when?
– dataset contains spatial attributes and they have primary importance • area coded – join together
– central tasks revolve around understanding spatial relationships • region: interlocking area marks (provinces, countries with outline shapes)
• position coded – also could have point marks (cities, locations with 2D lat/lon coords)

• examples Geographic Maps • region: categorical key attribute in table


– use to look up value attributes
– geographical/cartographic data • cannot encode another • major idioms
– sensor/simulation data attribute with these – choropleth
channels, they're "taken" – symbol maps
– cartograms
– dot density maps

353 354 355 356

Idiom: choropleth map Beware: Population maps trickiness! Beware: Population maps trickiness! Beware: Population maps trickiness!
• use given spatial data • spurious correlations: most attributes • spurious correlations: most attributes
– when central task is understanding spatial just show where people live just show where people live
relationships • consider when to normalize by
• data population density
– geographic geometry • encode raw data values
– table with 1 quant attribute per region – tied to underlying population
• but should use normalized values
• encoding http://bl.ocks.org/mbostock/4060606
– unemployed people per 100 citizens, mean family
– position: income
use given geometry for area mark boundaries
– color:
sequential segmented colormap [ https://xkcd.com/1138 ] [ https://xkcd.com/1138 ] [ https://xkcd.com/1138 ]

357 358 359 360

Beware: Population maps trickiness! Choropleth maps: Recommendations Choropleth map: Pros & cons Idiom: Symbol maps
• spurious correlations: most attributes • only use when central task is understanding spatial relationships • pros • symbol is used to represent aggregated data (mark or glyph)
– allows use of size and shape and color channels
just show where people live – easy to read and understand
• show only one variable at a time • aka proportional symbol maps, graduated symbol maps
• consider when to normalize by – well established visualization (no learning curve) • keep original spatial geometry in the background
population density • normalize when appropriate – data is often collected and aggregated by geographical regions • often a good alternative to choropleth maps
• encode raw data values
• be careful when choosing colors & bins • cons State population
– tied to underlying population
– most effective visual variable used for geographic location
• but should use normalized values • best case: regions are roughly equal sized – visual salience depends on region size, not true importance wrt attribute value
– unemployed people per 100 citizens, mean family
income • large regions appear more important than small ones
• general issue – color palette choice has a huge influence on the result
– absolute counts vs relative/normalized data
[ https://xkcd.com/1138 ]
– failure to normalize is common error

361 362 363 364

Symbol maps with glyphs Symbol map: Pros & cons Idiom: Contiguous cartogram Idiom: Grid Cartogram
• pros • interlocking marks:
– somewhat intuitive to read and understand shape, area, and position coded
– mitigate problems with region size vs data salience • derive new interlocking marks
• marks: symbol size follows attribute value – based on combination of original interlocking
• glyphs: symbol size can be uniform Greenhouse Emissions
marks and new quantitative attribute
• cons • algorithm to create new marks
– possible occlusion / overlap – input: target size
• symbols could overlap each other – goal: shape as close to the original as possible • uniform-sized shapes arranged in rectilinear grid
• symbols could occlude region boundaries
– requirement: maintain constraints • maintain approximate spatial position and arrangement
– complex glyphs may require explanation / training • relative position Child Mortality
• contiguous boundaries with their neighbours

365 366 Mark Newman, Univ. Michigan 367 368


Cartogram: Pros & cons Idiom: Dot density maps Dot density maps: Pros and cons Map Projections
• pros • visualize distribution of a • pros • mathematical functions that map 3D surface geometry of the Earth to 2D maps
– can be intriguing and engaging phenomenon by placing dots – straightforward to understand • all projections of sphere on plane necessarily distort surface in some way
– best case: strong and surprising size disparities • one symbol represents – avoids choropleth non-uniform region size problems • interactive: philogb.github.io/page/myriahedral/ and jasondavies.com/maps/
– non-contiguous cartograms often easier to understand a constant number of items • cons
• cons – dots have uniform size & – challenge: normalization, just like choropleths
– require substantial familiarity with original dataset & use of memory shape • show population density (correlated with attribute), not effect of interest
• compare distorted marks to memory of original marks – allows use of color channel – perceptual disadvantage:
• mitigation strategies: transitions or side by side views difficult to extract quantities
– major distortion is problematic • task:
show spatial patterns, clusters – performance disadvantage:
• may be aesthetically displeasing rendering many dots can be slow
• may result in unrecognizable marks
– difficult to extract exact quantities
369 370 371 372

Mercator Projection Focus on Spatial


Dataset
Dataset
Dataset
Dataset Types
Types
Types
Types Dataset Types
» Heavily distorts country sizes;
particularly close to the poles. Visualization Analysis & Design TablesTypes
Dataset
Tables
Tables
Tables Networks
Networks
Tables
Networks
Networks FieldsFields
Networks
Fields
Fields
Spatial
(Continuous)
(Continuous)
(Continuous)
Geometry
(Continuous) Geometry
Fields
Geometry
Geometry
Grid of positions
(Spatial)
(Spatial)(Spatial)
(Continuous)(Spatial) Geometry (Spatial)
Attributes (columns) Grid of Grid
positions
Tables
Attributes (columns)
Attributes
Attributes (columns)
(columns) Networks
Attributes (columns) Fields (Continuous)
Gridof
ofpositions
positions Geometry
Grid of positions(Spatial)

Items Items Link Link


Items
Items Items Link
Link Cell Cell Link
Grid of positions

Spatial Data (Ch 9) II


(rows)(rows) Attributes (columns) Cell
Cell Cell Position Position
(rows)
(rows) (rows) Node Node Position
Position Position

Spatial Fields
Node
Node Node
Items (item)Link(item)
Cell containing
Cell containing value value (item)
(item) Cell (columns)
Attributes (item)
Attributes (columns)
(rows) Cell
Cellcontaining
containingvalue
value Cell containing value Attributes
Attributes(columns)
(columns) Attributes (columns) Position
Node
(item) Value in cell Value in cell
Cell containing value Attributes
Valueinin(columns)
Value cell
cell Value in cell
Multidimensional Table Table
Multidimensional Trees Trees
Multidimensional
MultidimensionalTable
Table Trees
Trees
Multidimensional Table Trees
Value in cell

Multidimensional Table Trees

Tamara Munzner Value in cell


Value in cell
Department of Computer Science Value
Valueinincell
cell Value in cell

University of British Columbia Value in cell

373 @tamaramunzner 375 376

Idiom: topographic map Idioms: isosurfaces, direct volume rendering Idioms: isosurfaces, direct volume rendering Idioms: isosurfaces, direct volume rendering
• data • data • data • data F

– geographic geometry D

– scalar spatial field (3D volume) – scalar spatial field (3D volume) – scalar spatial field (3D volume)
A B C E
A B C

– scalar spatial field


Data Value

• 1 quant attribute per grid cell


• 1 quant attribute per grid cell • 1 quant attribute per grid cell • 1 quant attribute per grid cell
• derived data • task • task • task
– isoline geometry – shape understanding, spatial relationships – shape understanding, spatial relationships – shape understanding, spatial relationships
• isocontours computed for
specific levels of scalar values • isosurface • isosurface
• task – derived data: isocontours computed for specific levels of – derived data: isocontours computed for specific levels of
– understanding terrain shape scalar values scalar values
• densely lined regions = steep
• pros
• direct volume rendering
Land Information New Zealand Data Service
– use only 2D position, avoid 3D challenges – transfer function maps scalar values to color, opacity
– color channel available for other attributes • no derived geometry
• cons [Interactive Volume Rendering Techniques. Kniss. Master’s thesis, University of Utah Computer Science, 2002.] [Interactive Volume Rendering Techniques. Kniss. Master’s thesis, University of Utah Computer Science, 2002.] [Interactive Volume Rendering Techniques. Kniss. Master’s thesis, University of Utah Computer Science, 2002.]

– significant clutter from additional lines 377


[Multidimensional Transfer Functions for Volume Rendering. Kniss, Kindlmann, and Hansen. In The Visualization Handbook,
edited by Charles Hansen and Christopher Johnson, pp. 189–210. Elsevier, 2005.]
378
[Multidimensional Transfer Functions for Volume Rendering. Kniss, Kindlmann, and Hansen. In The Visualization Handbook,
edited by Charles Hansen and Christopher Johnson, pp. 189–210. Elsevier, 2005.]
379
[Multidimensional Transfer Functions for Volume Rendering. Kniss, Kindlmann, and Hansen. In The Visualization Handbook,
edited by Charles Hansen and Christopher Johnson, pp. 189–210. Elsevier, 2005.]
380

Vector and tensor fields Vector fields Idiom: similarity-clustered streamlines Idiom: Ellipsoid Tensor Glyphs
• data – encoded with one of methods above • empirical study tasks • data • data

– multiple attribs per cell (vector: 2) – finding critical points, identifying their – 3D vector field – tensor field: multiple attributes at each cell
• idiom families types • derived data (from field) (entire matrix)
– identifying what type of critical point – streamlines: trajectory particle will follow • stress, conductivity, curvature, diffusivity...
– flow glyphs
is at a specific location – derived data:
• purely local • derived data (per streamline)
– predicting where a particle starting at • shape (eigenvalues)
– geometric flow – curvature, torsion, tortuosity
a specified point will end up • orientation (eigenvectors)
• derived data from tracing particle [Comparing 2D vector field visualization methods: A user study. Laidlaw et al. IEEE Trans. (advection) [Comparing 2D vector field visualization methods: A user study. Laidlaw et al. IEEE Trans. – signature: complex weighted combination
trajectories Visualization and Computer Graphics (TVCG) 11:1 (2005), 59–70.] Visualization and Computer Graphics (TVCG) 11:1 (2005), 59–70.]
– compute cluster hierarchy across all signatures • visual encoding
• sparse set of seed points – encode: color and opacity by cluster – glyph: 3D ellipsoid
– texture flow
• tasks
• derived data, dense seeds Saddle Point: Repelling Focus: Attracting Focus: Repelling Node: Attracting Node: Saddle Point: Repelling Focus: Attracting Focus: Repelling Node: Attracting Node: [Similarity Measures for
R1<0, R2>0,
[Topology
R1 = R2 >0,
= I2 = 0tracking for
R1 = R2 < 0,
the visualization of
R1, R2 > 0, R1, R2 < 0, R1<0, R2>0,
[Topology
R1 = R2 >0,
= I2 = 0tracking for
R1 = R2 < 0,
the visualization of
R1, R2 > 0, R1, R2 < 0, – find features, query shape Enhancing Interactive Streamline
– feature flow I1 I1 = !I2 <> 0
time-dependent two-dimensional flows.
I1 = !I2 <> 0 I1 = I2 = 0 I1 = I2 = 0 I1 I1 = !I2 <> 0
time-dependent two-dimensional flows.
I1 = !I2 <> 0 I1 = I2 = 0 I1 = I2 = 0
Seeding. McLoughlin,. Jones,

• global computation to detect features


Tricoche,Wischgoll, Scheuermann, and rst order singularity types
Fig. 1. Common
Hagen. Computers & Graphics 26:2
Tricoche,Wischgoll, Scheuermann, and rst order singularity types
Fig. 1. Common
Hagen. Computers & Graphics 26:2 • scalability Laramee, Malki, Masters, and.
Hansen. IEEE Trans.Visualization
3.1(2002), 249–257.]
Critical Points and Separatrices 3.1(2002), 249–257.]
Critical Points and Separatrices and Computer Graphics 19:8 [Superquadric Tensor Glyphs. Kindlmann. Proc.VisSym04, p147-154, 2004.]
381 382 – millions of samples, hundreds of streamlines (2013), 1342–1353.] 383 384
Use Use
Arrange
Arrange spatial
Spatial Data data Use Navigate Superimpose
Idiom design choices:
Embed Use
Visual encoding Navigate
How? Superimpose
Navigate Idiom design choices:
Embed
Superimpose Embed Beyond spatial arrangement
How? Navigate

Use Given Encode Manipulate Facet Reduce Encode Manipulate Facet


Geometry
Geographic Visualization
Map Analysis & Design
Arrange Map
Express Color Separate
Map Change
from categorical and ordered
Juxtapose Filter Arrange
Express Separate
Map Change
from categorical and ordered
Juxtapose
Color attributes attributes
Other Derived
Hue Saturation Hue Saturation
Color Color
Spatial Fields
Scalar Fields (one value per cell)
Color (Ch 10) Luminance Transparency
Order
Luminance
Align
Transparency
Hue
Select
Saturation Luminance
Partition Aggregate Order Align
Hue
Select
Saturation Luminance
Partition
Isocontours Size, Angle, Curvature, ... Size, Angle, Curvature, ...
Position, Size, Angle, Curvature, ... Position, Size, Angle, Curvature, ...
Direct Volume Rendering

Use Shape Use Shape


Vector and Tensor Fields (many values per cell)
Region, Shape, ... Region, Shape, ...
Navigate Superimpose Embed Navigate Superimpose
What?
Flow Glyphs (local) What? What?
Tamara Munzner
Geometric (sparse seeds) Motion Why? Motion
Department of Computer Motion Science Why? Motion Direction, Rate, Frequency, ... Why? Direction, Rate, Frequency, ...
Textures (dense seeds) University of British Columbia
Direction, Rate, Frequency, ... Map Direction, Rate, Frequency, ... Map How?
Features (globally derived) @tamaramunzner How? from categorical and ordered How? from categorical and ordered
385 387 388
attributes attributes

Channels: What's
Channels: up
Expressiveness with
Types color?Ranks
And Effectiveness Decomposing color Decomposing
Color color Decomposing
Color color
Hue Saturation Luminance Hue Saturation Luminance
Magnitude Channels: Ordered Attributes Identity Channels: Categorical Attributes
• first rule of color: do not (just) talk about color! • first rule of color: do not (just) talk about color!
Position on common scale Spatial region
Size, Angle,
– color is confusing Curvature,
if treated as ...monolithic Size, Angle,
– color is confusing Curvature,
if treated as ...monolithic
Position on unaligned scale Color hue
• decompose into three channels
Luminance values
Luminance values
Length (1D size) Motion – ordered can show magnitude
Shape Shape
Tilt/angle Shape What?• luminance: how bright (B/W)
Saturation Saturation
• saturation: how colourful
Area (2D size) Hue Hue
Motion – categoricalMotion
Why? can show identity
Direction, Rate, Frequency, ... Direction, Rate, Frequency, ...
Depth (3D position) • hue: what color
How?
Color luminance

Color saturation

Curvature

Volume (3D size) 389 390 391 392

Decomposing color Categorical vs ordered color Categorical color: limited number of discriminable bins
• first rule of color: do not (just) talk about color! • human perception built
– color is confusing if treated as monolithic on relative comparisons
• decompose into three channels
Luminance values
Luminance values
– ordered can show magnitude
• luminance: how bright (B/W)
Saturation Saturation
• saturation: how colourful
Hue Hue
Color Channels in Visualization
– categorical can show identity
• hue: what color

• channels have different properties


– what they convey directly to perceptual system
– how much they can convey
[Cinteny: flexible analysis and visualization of synteny and genome rearrangements in multiple organisms. Sinha and Meller.
• how many discriminable bins can we use? 393 394
[Seriously Colorful: Advanced Color Principles & Practices. Stone.Tableau Customer Conference 2014.]
395 BMC Bioinformatics, 8:82, 2007.] 396

Categorical color: limited number of discriminable bins Categorical color: limited number of discriminable bins Categorical color: limited number of discriminable bins Categorical color: limited number of discriminable bins
• human perception built • human perception built • human perception built
on relative comparisons on relative comparisons on relative comparisons
– great if color contiguous – great if color contiguous – great if color contiguous
– surprisingly bad for – surprisingly bad for
absolute comparisons absolute comparisons
• noncontiguous small
regions of color
– fewer bins than you want
– rule of thumb: 6-12 bins,
including background and
highlights

[Cinteny: flexible analysis and visualization of synteny and genome rearrangements in multiple organisms. Sinha and Meller. [Cinteny: flexible analysis and visualization of synteny and genome rearrangements in multiple organisms. Sinha and Meller. [Cinteny: flexible analysis and visualization of synteny and genome rearrangements in multiple organisms. Sinha and Meller.
BMC Bioinformatics, 8:82, 2007.] 397 BMC Bioinformatics, 8:82, 2007.] 398 BMC Bioinformatics, 8:82, 2007.] 399 400
https://archive.nytimes.com/www.nytimes.com/interactive/2008/05/05/science/20080506_DISEASE.html
Ordered color: limited number of discriminable bins Ordered color: Rainbow is poor default Ordered color: Rainbow is poor default Ordered color: Rainbow is poor default
• problems • problems • problems
– perceptually unordered – perceptually unordered – perceptually unordered
– perceptually nonlinear – perceptually nonlinear – perceptually nonlinear
• benefits
– fine-grained structure visible and
nameable [A Rule-based Tool for Assisting Colormap Selection. Bergman,. Rogowitz, and.Treinish. Proc. IEEE Visualization (Vis), pp. 118–125, 1995.]

[Why Should Engineers Be Worried About Color? Treinish and Rogowitz


1998. http://www.research.ibm.com/people/l/lloydt/color/color.HTM]

Gregor Aisch, vis4.net/blog/posts/choropleth-maps/


401 402 403 404

Ordered color: Rainbow is poor default Ordered color: Rainbow is poor default Viridis / Magma: sequential colormaps Ordered color: Rainbow is poor default
• problems • problems • monotonically increasing luminance, • problems
– perceptually unordered – perceptually unordered perceptually uniform – perceptually unordered
– perceptually nonlinear – perceptually nonlinear – perceptually nonlinear
• colorful, colorblind-safe
• benefits • benefits • benefits
– R, python, D3 – fine-grained structure visible and
– fine-grained structure visible and – fine-grained structure visible and
nameable [A Rule-based Tool for Assisting Colormap Selection. Bergman,. Rogowitz, and.Treinish. Proc. IEEE Visualization (Vis), pp. 118–125, 1995.] nameable [A Rule-based Tool for Assisting Colormap Selection. Bergman,. Rogowitz, and.Treinish. Proc. IEEE Visualization (Vis), pp. 118–125, 1995.]
nameable [A Rule-based Tool for Assisting Colormap Selection. Bergman,. Rogowitz, and.Treinish. Proc. IEEE Visualization (Vis), pp. 118–125, 1995.]

• alternatives • alternatives • alternatives


– large-scale structure: fewer hues – large-scale structure: fewer hues – large-scale structure: fewer hues
– fine structure: multiple hues with – fine structure: multiple hues with
monotonically increasing luminance monotonically increasing luminance
[eg viridis] [eg viridis]
[Why Should Engineers Be Worried About Color? Treinish and Rogowitz [Why Should Engineers Be Worried About Color? Treinish and Rogowitz
• legit for categorical [Why Should Engineers Be Worried About Color? Treinish and Rogowitz
1998. http://www.research.ibm.com/people/l/lloydt/color/color.HTM] 1998. http://www.research.ibm.com/people/l/lloydt/color/color.HTM] 1998. http://www.research.ibm.com/people/l/lloydt/color/color.HTM]
– segmented saturated rainbow is good!
https://cran.r-project.org/web/packages/viridis/vignettes/intro-to-viridis.html [Transfer Functions in Direct Volume Rendering: Design, Interface,
Interaction. Kindlmann. SIGGRAPH 2002 Course Notes]
405 406 407 408

Interaction between channels: Not fully separable Interaction between channels: Not fully separable Interaction between channels: Not fully separable
• color channel interactions • color channel interactions • color channel interactions
– size heavily affects salience – size heavily affects salience – size heavily affects salience
– small regions need high saturation – small regions need high saturation – small regions need high saturation
– large regions need low saturation – large regions need low saturation – large regions need low saturation
• saturation & luminance: • saturation & luminance:
– not separable from each other! – not separable from each other!
– also not separable from transparency – also not separable from transparency
– small separated regions: 2 bins safest (use only one of these channels), 3-4 bins max
– contiguous regions: many bins (use only one of these channels)
Color Palettes

Encode Map Encode Map Encode Map Encode Map

Color Size, Angle, Curvature, ... Color Size, Angle, Curvature, ... Color Size, Angle, Curvature, ... Color Size, Angle, Curvature, ...
Color Encoding Length Color Encoding Length Color Encoding Length Color Encoding Length
Hue Saturation
http://colorbrewer2.org/ Luminance 409 Hue Saturation
http://colorbrewer2.org/ Luminance 410 Hue Saturation
http://colorbrewer2.org/ Luminance 411 Hue Saturation Luminance 412

Angle Angle Angle Angle


Color
Color Map
palettes: univariate Categorical
Color
Color Map
palettes: univariate Categorical
Color
Color Map
palettes: univariate Categorical
Color
Color Map
palettes: univariate Categorical
Binary
Area Categorical Binary
Area Categorical Binary
Area Categorical Binary
Area Categorical
Categorical Categorical Categorical Categorical
Curvature Categorical
Curvature Categorical
Curvature Categorical
Curvature Categorical
Ordered
Volume
categorical Ordered
Volume
Ordered
Volume
Ordered
Volume
Sequential Diverging Sequential Diverging Sequential Diverging Sequential Diverging
• categorical Ordering Direction
• aim for
Bivariate maximum distinguishability Shape Bivariate Shape Bivariate Shape Sequential Diverging Cyclic
Bivariate Shape
• aka qualitative, nominal Diverging Sequential • diverging Diverging Sequential • diverging Diverging Sequential Diverging Sequential

• useful when data has meaningful "midpoint" • useful when data has meaningful "midpoint"
diverging sequential diverging sequential
Motion • use neutral color for midpoint Motion • use neutral color for midpoint Motion cyclic multihue
Motion
Motion • white, yellow, grey Motion • white, yellow, grey Motion Motion
Direction, Rate, • use saturated colors for endpoints Direction, Rate, • use saturated colors for endpoints Direction, Rate, Direction, Rate,
Frequency, ... Frequency, ... Frequency, ... Frequency, ...
• sequential • sequential
• ramp luminance or saturation • ramp luminance or saturation https://github.com/d3/d3-scale-chromatic

• if multi-hue, good to order by luminance


after [Color Use Guidelines for Mapping and Visualization. Brewer, 1994. http://www.personal.psu.edu/faculty/c/a/cab38/ColorSch/Schemes.html] 413 after [Color Use Guidelines for Mapping and Visualization. Brewer, 1994. http://www.personal.psu.edu/faculty/c/a/cab38/ColorSch/Schemes.html] 414 after [Color Use Guidelines for Mapping and Visualization. Brewer, 1994. http://www.personal.psu.edu/faculty/c/a/cab38/ColorSch/Schemes.html] 415 after [Color Use Guidelines for Mapping and Visualization. Brewer, 1994. http://www.personal.psu.edu/faculty/c/a/cab38/ColorSch/Schemes.html] 416
Angle Angle Angle
Color palette design considerations: univariate Colormaps:
Color Map
bivariate Categorical
Colormaps:
Color Map
bivariate Categorical
Colormaps
Color Map Categorical
Area Area Area
segmented continuous sequential Categorical
Binary Categorical
Categorical
Binary Categorical
Categorical
Binary Categorical

diverging sequential categorical single hue Curvature Categorical


Curvature Categorical
Curvature Categorical
diverging
two hue Ordered Ordered Ordered
Sequential
Volume Sequential
Volume Sequential
Volume
sequential Diverging Diverging Diverging
multihue
cyclic multihue
Bivariate Shape Bivariate Shape Bivariate Shape
Diverging Sequential Diverging Sequential Diverging Sequential
use with care!
• segmented or continuous?
• bivariate best case Motion Motion • bivariate can be very difficult to interpretMotion
• diverging or sequential or cyclic?
• binary in one of the directions Motion Motion • when multiple levels in each direction Motion
• single-hue or two-hue or multi-hue? Direction, Rate, Direction, Rate, Direction, Rate,
• perceptually linear? Frequency, ... binary saturation Frequency, ... Frequency, ...
• ordered by luminance? # d3.schemePaired <>
categorical hue
• colorblind safe?
417 after [Color Use Guidelines for Mapping and Visualization. Brewer, 1994. http://www.personal.psu.edu/faculty/c/a/cab38/ColorSch/Schemes.html] 418 after [Color Use Guidelines for Mapping and Visualization. Brewer, 1994. http://www.personal.psu.edu/faculty/c/a/cab38/ColorSch/Schemes.html] 419 after [Color Use Guidelines for Mapping and Visualization. Brewer, 1994. http://www.personal.psu.edu/faculty/c/a/cab38/ColorSch/Schemes.html] 420
[A Study of Colormaps in Network Visualization. Karim et al. Appl. Sci. 2019, 9, 4228; doi:10.3390/app9204228] https://github.com/d3/d3-scale-chromatic

Decomposing color Luminance


• decompose into three channels • need luminance for edge detection
Visualization Analysis & Design – ordered can show magnitude
Luminance values
• luminance: how bright (B/W)
Luminance values – fine-grained detail only visible through
luminance contrast
• saturation: how colourful Saturation Saturation – legible text requires luminance contrast!

Color (Ch 10) II – categorical can show identity


Hue Hue
Luminance information Saturation/hue information
• hue: what color
Color Deficiency

Tamara Munzner
Department of Computer Science
[Seriously Colorful: Advanced Color
University of British Columbia Principles & Practices. Stone.Tableau
Customer Conference 2014.]
@tamaramunzner 422 423 424

Opponent color and color deficiency Opponent color and color deficiency Designing for color deficiency: Check with simulator Designing for color deficiency: Avoid encoding by hue alone
• perceptual processing before optic nerve • perceptual processing before optic nerve • redundantly encode
– one achromatic luminance channel (L*) – one achromatic luminance channel (L*) – vary luminance
–edge detection through luminance contrast – edge detection through luminance contrast – change shape
– 2 chroma channels – 2 chroma channels
–red-green (a*) & yellow-blue axis (b*) Luminance information Chroma information
– red-green (a*) & yellow-blue axis (b*) Luminance information Chroma information
• “colorblind”: degraded acuity, one axis
Normal Deuteranope Protanope Tritanope
– 8% of men are red/green color deficient Deuteranope simulation
vision green-weak red-weak blue-weak
– blue/yellow is rare
https://www.color-blindness.com/coblis-color-blindness-simulator/

[Seriously Colorful: Advanced Color Principles & Practices. Stone.Tableau Customer Conference 2014.] [Seriously Colorful: Advanced Color Principles & Practices. Stone.Tableau Customer Conference 2014.]
Change the shape

Vary luminance
425 426 427 428
[Seriously Colorful: Advanced Color Principles & Practices. Stone.Tableau Customer Conference 2014.] [Seriously Colorful: Advanced Color Principles & Practices. Stone.Tableau Customer Conference 2014.]

Color deficiency: Reduces color to 2 dimensions Designing for color deficiency: Blue-Orange is safe

Visualization Analysis & Design

Color (Ch 10) III


Normal Protanope Color Spaces

Tamara Munzner
Department of Computer Science
Deuteranope Tritanope University of British Columbia
[Seriously Colorful: Advanced Color Principles & Practices. Stone.Tableau Customer Conference 2014.] 429 [Seriously Colorful: Advanced Color Principles & Practices. Stone.Tableau Customer Conference 2014.] 430 @tamaramunzner 432
Many color spaces Many color spaces Many color spaces RGB
Luminance values
Luminance values Luminance values
Luminance values Luminance values
Luminance values Corners of the RGB
• Luminance (L*), hue (H), saturation (S) • Luminance (L*), hue (H), saturation (S) • Luminance (L*), hue (H), saturation (S) • RGB: good for display hardware color cube
Saturation Saturation Saturation Saturation Saturation Saturation
– good for encoding – good for encoding – good for encoding L from HLS
Hue Hue Hue Hue Hue Hue All the same
– but not standard graphics/tools colorspace – but not standard graphics/tools colorspace
• RGB: good for display hardware Luminance values

https://commons.wikimedia.org/wiki/File:RGB_color_solid_cube.png
L* values
https://commons.wikimedia.org/wiki/File:RGB_color_solid_cube.png

433 434 435 436

RGB Many color spaces Many color spaces Many color spaces
Corners of the RGB Luminance values
Luminance values Luminance values
Luminance values Luminance values
Luminance values
• RGB: good for display hardware color cube • Luminance (L*), hue (H), saturation (S) • Luminance (L*), hue (H), saturation (S) • Luminance (L*), hue (H), saturation (S)
Saturation Saturation Saturation Saturation Saturation Saturation
L from HLS – good for encoding – good for encoding – good for encoding
All the same Hue Hue Hue Hue Hue Hue
– but not standard graphics/tools colorspace – but not standard graphics/tools colorspace – but not standard graphics/tools colorspace
Luminance values • RGB: good for display hardware • RGB: good for display hardware • RGB: good for display hardware
– poor for encoding & interpolation – poor for encoding & interpolation – poor for encoding & interpolation
L* values https://commons.wikimedia.org/wiki/File:RGB_color_solid_cube.png

• CIE LAB (L*a*b*): good for interpolation https://commons.wikimedia.org/wiki/File:RGB_color_solid_cube.png

• CIE LAB (L*a*b*): good for interpolation https://commons.wikimedia.org/wiki/File:RGB_color_solid_cube.png

https://commons.wikimedia.org/wiki/File:RGB_color_solid_cube.png

– hard to interpret, poor for encoding

Size Width Red


r) – poorHue
for (Color)
encoding & interpolation
Height Green

arable Some interference Some/significant Major interference 437 438 439 440
interference

Perceptual colorspace: L*a*b* Perceptual colorspace: L*a*b* Many color spaces Many color spaces
Luminance values
Luminance values Luminance values
Luminance values
• perceptual processing before optic nerve • perceptual processing before optic nerve • Luminance (L*), hue (H), saturation (S)
Saturation Saturation
• Luminance (L*), hue (H), saturation (S)
Saturation Saturation
– good for encoding – good for encoding
– one achromatic luminance channel (L*) – one achromatic luminance channel (L*)
– but not standard graphics/tools colorspace Hue Hue – but not standard graphics/tools colorspace Hue Hue
• edge detection through luminance contrast • edge detection through luminance contrast
• RGB: good for display hardware • RGB: good for display hardware
– 2 chroma channels – 2 chroma channels
– poor for encoding & interpolation – poor for encoding & interpolation
• red-green (a*) & yellow-blue axis (b*) • red-green (a*) & yellow-blue axis (b*)
Luminance information Chroma information Luminance information Chroma information • CIE LAB (L*a*b*): good for interpolation https://commons.wikimedia.org/wiki/File:RGB_color_solid_cube.png

• CIE LAB (L*a*b*): good for interpolation https://commons.wikimedia.org/wiki/File:RGB_color_solid_cube.png

• CIE LAB – hard to interpret, poor for encoding – hard to interpret, poor for encoding
– perceptually uniform • HSL/HSV: somewhat better for encoding
• great for interpolating
– complex shape
[Seriously Colorful: Advanced Color Principles & Practices. Stone.Tableau Customer Conference 2014.]
• poor for encoding [Seriously Colorful: Advanced Color Principles & Practices. Stone.Tableau Customer Conference 2014.]

441 https://en.wikipedia.org/wiki/CIELAB_color_space 442 443 444

HSL/HSV HSL/HSV HSL/HSV: Pseudo-perceptual colorspace Many color spaces


Luminance values
Luminance values
• HSL/HSV: somewhat better for encoding • HSL/HSV: somewhat better for encoding • HSL better than RGB • Luminance (L*), hue (H), saturation (S)
Saturation Saturation
– hue/saturation wheel intuitive – hue/saturation wheel intuitive for encoding – good for encoding
– but not standard graphics/tools colorspace Hue Hue
• saturation • saturation but beware
– in HSV (single-cone) desaturated = white – in HSV (single-cone) desaturated = white • RGB: good for display hardware
– L lightness ≠ L* luminance
– in HSL (double-cone) desaturated = grey – in HSL (double-cone) desaturated = grey – poor for encoding & interpolation
• • luminance vs saturation • CIE LAB (L*a*b*): good for interpolation https://commons.wikimedia.org/wiki/File:RGB_color_solid_cube.png

– channels not very separable Corners of the RGB – hard to interpret, poor for encoding
color cube
– typically not crucial to distinguish between • HSL/HSV: somewhat better for encoding
L from HLS
these with encoding/decoding All the same – hue/saturation wheel intuitive
– key point is hue vs luminance/saturation – beware: only pseudo-perceptual!
Luminance values
– lightness (L) or value (V) ≠ luminance (L*)
L* values

http://learn.leighcotnoir.com/artspeak/elements-color/hue-value-saturation/hsv8/ http://learn.leighcotnoir.com/artspeak/elements-color/hue-value-saturation/hsv8/ [Seriously Colorful: Advanced Color


Principles & Practices. Stone.Tableau
http://learn.leighcotnoir.com/artspeak/elements-color/hue-value-saturation/hsv8/
Customer Conference 2014.]
445 446 447 448
Interaction with the background Interaction with the background: tweaking yellow for visibility Interaction with the background: tweaking yellow for visibility
• marks with high luminance on a background with low luminance • marks with medium luminance on a background with high luminance

Color Constrast & Naming

449 450 451 452

Interaction with the background: tweaking yellow for visibility Color/Lightness constancy: Illumination conditions Color/Lightness constancy: Illumination conditions Contrast with background
• change luminance of marks depending on background

Image courtesy of John McCann via Maureen Stone Image courtesy of John McCann via Maureen Stone
453 454 455 456

Contrast with background Bezold Effect: Outlines matter Color Appearance Color naming
• given L, a*, b*, can we tell what color it is?
– no, it depends

• chromatic adaptation
• luminance adaptation
• simultaneous contrast
• spatial effects
• viewing angle
Black and blue? White and gold? • …
https://imgur.com/hxJjUQB
https://en.wikipedia.org/wiki/The_dress [Seriously Colorful: Advanced Color Principles & Practices. Stone.Tableau Customer Conference 2014.]
457 458 459 460

Color naming Color naming Color naming Color is just part of vision system
• nameability affects • Does not help perceive
– communication – Position
– memorability – Shape
• can integrate into color models – Motion
– in addition to perceptual considerations –…

http://www.thedoghousediaries.com/1406 461
https://blog.xkcd.com/2010/05/03/color-survey-results/ 462
https://blog.xkcd.com/2010/05/03/color-survey-results/ 463 464
Color Encoding Length
Angle / tilt / orientation channel Map other channels Map other channelsHue Saturation Luminance
Angle
• different mappings depending on range used • size Size • size Color Map Size Area
– aligned length best Length Area Volume – aligned length best Categorical Length Area Volume
Curvature
– length accurate – length accurate
Ordered
– 2D area ok – 2D area ok Sequential Diverging
Volume
– 3D volume poor – 3D volume poor
Sequential ordered Diverging ordered Cyclic ordered
Map Other Channels line mark or arrow glyph arrow glyph arrow glyph Actions
• shape
Actions
Bivariate Shape

– complex combination of lower-level primitives


Position Color • nonlinear accuracy – many bins Motion
Analyze Analyze
Horizontal Vertical Both – high: exact horizontal, vertical, diagonal (0, 45, 90 degrees) Motion
Direction, Rate,
– lower: other orientations (eg 37 vs 38 degrees) Consume Consume Frequency, ...

Discover Present Enjoy Discover Present Enjoy


Encode Map
Shape Tilt
Color Size, Angle, Curvature, ... 465 466 467 468

Color Encoding Length


Map other channelsHue Saturation Luminance How to handle complexity: 1 previous strategy How to handle complexity: 1 previous strategy + 2 more
Angle
Produce Produce How?
• size Color Map Size Encode Manipulate Facet Reduce
Area Annotate Record Derive Annotate Record Derive
– aligned length best
– length accurate
Categorical Length Area
Curvature
Volume
Visualization Analysis & Design tag tag Arrange Change Juxtapose Filter
Ordered Express Separate
– 2D area ok Sequential Diverging
Volume
– 3D volume poor
Shape
Interactive Views (Ch 11/12)
• shape Bivariate
• derive new data to • derive
Order newAlign
data to Select Partition Aggregate
Search show within view Search show within view
– complex combination of lower-level primitives
– many bins Motion Target known Target unknown Target known • change view
Target over time
unknown
Motion Use
• motion Direction, Rate, • facet across multiple Navigate Superimpose Embed
Location Location
– highly separable against static Frequency, ... Tamara Munzner known
Lookup Browse
known
Lookup views Browse
• great for highlighting (binary) Department of Computer Science
– use with care to avoid irritation University of British Columbia Location Location Map
Locate Explore Locate Explore
469 @tamaramunzner unknown unknown 471 from categorical and ordered 472

attributes
Manipulate Manipulate Change over time Idiom:
Color Re-encode
Hue Saturation Luminance
Query • change any of the other choices Query
Change over Time
Identify Compare – encoding itself
Summarise Identify Compare Summarise
Size, Angle, Curvature, ...
– parameters
– arrange: rearrange, reorder
Shape
– aggregation level, what is filtered... What?

Manipulate View Select


– interaction entails change Motion Why?
Direction, Rate, Frequency, ...
How?
• powerful & flexible
Navigate
Item Reduction Attribute Reduction
Zoom Slice
Geometric or Semantic
473 474 475 made with Tableau, http://tableausoftware.com 476

Idiom: Change parameters Idiom: Change order/arrangement Idiom: Reorder System: DataStripes Idiom: Change alignment System: LineUp
Pan/Translate Cut
• widgets and controls • what: simple table • what: table with many attributes • stacked bars
– sliders, buttons, radio buttons, • how: data-driven reordering • how: data-driven reordering by selecting column – easy to compare
checkboxes, Constrained • first segment
dropdowns/comboboxes • why: find extreme values, trendsProject • why: find correlations between attributes
• total bar
• pros • align to different segment
– clear affordances, – supports flexible comparison
self-documenting (with labels)
• cons
– uses screen space
• design choices [Growth of a Nation](http://laurenwood.github.io/)
made with D3 [LineUp:Visual Analysis of Multi-Attribute
– separated vs interleaved [Sortable Bar Chart] https://observablehq.com/@d3/sortable-bar-chart [http://carlmanaster.github.io/datastripes/] Rankings.Gratzl, Lex, Gehlenborg, Pfister, and Streit.
IEEE Trans.Visualization and Computer Graphics
• controls & canvas made with D3 made with D3 (Proc. InfoVis 2013) 19:12 (2013), 2277–2286.]

477 478 479 480


Idiom: Animated transitions - visual encoding change Idiom: Animated transition - tree detail Manipulate Manipulate Interaction technology
• smooth transition from one state to another • animated transition Change over Time
• what do you design for?
– alternative to jump cuts, supports item tracking – network drilldown/rollup – mouse & keyboard on desktop?
• best case for animation • large screens, hover, multiple clicks
– staging to reduce cognitive load – touch interaction on mobile? Data visualization and the news - Gregor Aisch (37 min)
• small screens, no hover, just tap vimeo.com/182590214
Select
– gestures from video / sensors?
Manipulate Manipulate
• ergonomic reality vs movie bombast

Manipulate Manipulate Change View Over Time Change View Over Time
Navigate – eye tracking?
I Hate Tom Cruise - Alex Kauffmann (5 min)
Change View Over Time Change View Over Time Item Reduction Attribute Reduction www.youtube.com/watch?v=QXLfT9sFcbc

Zoom Slice
Geometric or Semantic
[Stacked to Grouped Bars] https://observablehq.com/@d3/stacked-to-grouped-bars
481 [Collapsible Tree] https://observablehq.com/@d3/collapsible-tree 482
Select 483
Select 484

Selection Highlighting Manipulate Manipulate Manipulate Manipulate


Select Select Pan/Translate Cut
• selection: basic operation for most interaction • highlight: change visual encoding for selection targets Change over Time Change over Time
Navigate Navigate
• design choices – visual feedback closely tied to but separable from selection
Item Reduction Attribute Reduction Item Reduction Attribute Reduction
– how many selection types? (interaction) Constrained Project
Zoom Slice Zoom Slice
• interaction modalities Navigate • design choices: typical visual channels Navigate Geometric or Semantic Geometric or Semantic

• click/tap (heavyweight) vs hover (lightweight but not available on most touchscreens) – change item color
Item Reduction Manipulate Attribute Reduction Item Reduction Attribute Reduction
Select Manipulate
Select Ma
• multiple click types (shift-click, option-click, …) • but hides existing color coding
• proximity beyond click/hover (touching vs nearby vs distant) Zoom Slice Zoom Slice
Change View Over
Geometric Time
or Semantic – add outline mark Geometric or Semantic
Pan/Translate Cut
Change View Over Time
Pan/Translate Cut
Change View Over Time
• application semantics – change size (ex: increase outline mark linewidth)
– adding to selection set vs replacing selection
– can selection be null?
– change shape (ex: from solid to dashed line for link mark)
Constrained Project Constrained Project
Navigate Navigate
– ex: toggle so nothing selected if click on background
Pan/Translate • unusual
Cut channels: motion Pan/Translate Cut
– primary vs secondary (ex: source/target nodes in network)
– motion: usually avoid for single view Item Reduction Attribute Reduction Item Reduction Attribute Reduction
– group membership (add/delete items, name group, …) Select Select Select
• with multiple views, could justify to draw attention to other views Zoom Slice Zoom Slice
Geometric or Semantic Geometric or Semantic
Constrained 485
Project Constrained 486
Project 487 488

Navigate: Changing viewpoint/visibility Idiom: Scrollytelling Navigate: Changing viewpoint/visibility Navigate: Unconstrained vs constrained
Navigate Pan/Translate Cut Navigate Pan/Translate Cut Navigate
• change viewpoint • how: navigate page by scrolling (panning down) • change viewpoint • unconstrained navigation
Item Reduction Attribute Reduction Item Reduction Attribute Reduction Item Reduction
– changes which items are visible within view • pros: – changes which items are visible within view – easy to implement for designer
Zoom Slice Zoom Slice Zoom
• camera metaphor Geometric or Semantic – familiar & intuitive, from standard web browsing • camera metaphor
Constrained Project Geometric or Semantic – hardConstrained
to control for user Project Geometric or Semantic
– pan/translate/scroll – linear (only up & down) vs possible overload of – pan/translate/scroll • easy to overshoot/undershoot
• move up/down/sideways click-based interface choices Manipulate • move up/down/sideways • constrained navigation
Pan/Translate • cons:
Cut – rotate/spin Pan/Translate – typically
Cut uses animated transitions Pan/Translate
Change View Over Time • typically in 3D
– full-screen mode may lack affordances – trajectory automatically computed based on selection
– scrolljacking, no direct access – zoom in/out • just click; selection ends up framed nicely in final viewport
Constrained Project
– unexpected behaviour • enlarge/shrink world == move camera closer/further Constrained Project Constrained
• geometric zoom: standard, like moving physical object
– continuous control for discrete steps
Select
[How to Scroll, Bostock](https://bost.ocks.org/mike/scroll/)
489 https://eagereyes.org/blog/2016/the-scrollytelling-scourge 490 491 492

Idiom: Animated transition + constrained navigation Navigate: Reducing attributes


Navigate Interaction benefits Interaction limitations
• example: geographic map Item Reduction
• continuation of camera metaphor Attribute Reduction • interaction pros • interaction has a time cost
Zoom Slice
– simple zoom, only viewport changes, shapes preserved – slice Geometric or Semantic
– major advantage of computer-based vs paper-based visualization – sometimes minor, sometimes significant
• show only items matching specific value – flexible, powerful, intuitive – degenerates to human-powered search in worst case
for given attribute: slicing plane • exploratory data analysis: change as you go during analysis process
• axis aligned, or arbitrary alignment
• remembering previous state imposes cognitive load
• fluid task switching: different visual encodings support different tasks
– cut
Pan/Translate Cut • controls may take screen real estate
– animated transitions provide excellent support
• show only items on far slide of plane • empirical evidence that animated transitions help people stay oriented
– or invisible functionality may be difficult to discover (lack of affordances)
from camera
Constrained Project
• users may not interact as planned by designer
– project
– NYTimes logs show ~90% don’t interact beyond scrollytelling - Aisch, 2016
• change mathematics of image creation
– orthographic
[Zoom to Bounding Box] https://observablehq.com/@d3/zoom-to-bounding-box
– perspective
– many others: Mercator, cabinet, ...

[Interactive Visualization of Multimodal Volume Data for Neurosurgical Tumor Treatment. Rieder, Ritter, Raspe, and Peitgen.
493 Computer Graphics Forum (Proc. EuroVis 2008) 27:3 (2008), 1055–1062.] 494 495 496
How to handle complexity: 1 previous strategy + 2 more Encode Manipulate FacetFacet Reduce
Produce How?
Encode Manipulate Facet Reduce Arrange Change Juxtapose Filter
Annotate Record Derive
Visualization Analysis & Design tag Arrange Change Juxtapose Filter
Express Separate

Express Separate
Facet
Select Partition Aggregate
Interactive Views (Ch 11/12) II Order Align

Search
• deriveinto
Partition
Order newSidedata
Align byto
Side Views Select Partition Aggregate Multiple Views
show within view
Use
Target known • change view
Target over time
unknown Navigate Superimpose Embed
Use
Location
• facet across multiple Navigate Superimpose Embed
Tamara Munzner known
Lookup views
Superimpose
Browse
Layers
Department of Computer Science Map
University of British Columbia Location Map from categorical and ordered
Locate Explore
@tamaramunzner unknown from categorical and ordered 498 attributes 499 500

attributes
Color
FacetFacet Reduce Juxtapose
Color and coordinate views
Coordinate Multiple Side By Side Views
Idiom: Linked highlighting
Hue Saturation Luminance System: EDV Linked views: Directionality
Hue Saturation Luminance
Juxtapose Filter Query • see how regions contiguous in one • unidirectional vs bidirectional linking
Share Encoding: Same/Different Size, Angle, Curvature, ...
Identify Compare Summarise
Size, Angle, Curvature, ... view are distributed within another – bidirectional almost always better!
Linked Highlighting
– powerful and pervasive interaction idiom

Partition Aggregate Shape Shape


What? • encoding: different What?
Share Data: All/Subset/None
– multiform
Motion Why? Motion Why?
Direction, Rate, Frequency, ... • data: all shared Direction, Rate, Frequency, ...
Superimpose Embed How? – all items shared How?
Share Navigation – different attributes across the views
• aka: brushing and linking

[Visual Exploration of Large Structured Datasets.Wills. http://pbeshai.github.io/linked-highlighting-react-vega-redux/


Proc. New Techniques and Trends in Statistics (NTTS), pp. 237–246. IOS Press, 1995.] https://medium.com/@pbesh/linked-highlighting-with-react-d3-js-and-reflux-16e9c0b2210b
501 502 503 504

Idiom: Overview-detail views System: Google Maps Idiom: Overview-detail


All navigation
Subset None Idiom: Tooltips Idiom: Small multiples
• encoding: same or different • encoding: same or different Overview/ • popup information for selection • encoding: same
Same Redundant
Detail
– ex: same (birds-eye map) • data: subset shared – hover or click – ex: line charts
Small Multiples
• data: subset shared • navigation: shared – specific case of detail view: • data: none shared
– unidirectional linking Multiform, provide useful additional detail on demand
– viewpoint differences: – different slices of dataset
Different Overview/ No Linkage – beware: does not support overview!
subset of data items What? – select in small overview,
Multiform Detail • items or attributes
change extent in large detail view • always consider if there’s a way to visually
• navigation: shared encode directly to provide overview
• ex: stock prices for different
Why? companies
– bidirectional linking • “If you make a rollover or tooltip, assume
How?
nobody will see it. If it's important, make it
explicit. “
• other differences [A Review of Overview+Detail, Zooming, and Focus+Context Interfaces.
Cockburn, Karlson, and Bederson. ACM Computing Surveys 41:1 (2008), 1–31.] – Gregor Aisch, NYTimes
– (window size)

https://observablehq.com/@uwdata/interaction [https://www.highcharts.com/demo/dynamic-master-detail] [https://bl.ocks.org/mbostock/1157787]


505 506 507 508

Interactive small multiples Example: Combining many interaction idioms System: Buckets Juxtapose views: tradeoffs Juxtapose vs animate
• linked highlighting: • multiform • juxtapose costs • animate: hard to follow if
analogous item/attribute • multidirectional – display area many scattered changes or
across views
linked highlighting many frames
of small multiples • 2 views side by side: each has only half the area of one view
– vs easy special case: animated
– same year highlighted across all • tooltips • juxtapose benefits transitions
charts if hover within any chart – cognitive load: eyes vs memory
• lower cognitive load: move eyes between 2 views
• higher cognitive load: compare single changing view to memory of previous state

[https://bl.ocks.org/ColinEberhardt/3c780088c363d1515403f50a87a87121]
http://buckets.peterbeshai.com/
[https://blog.scottlogic.com/2017/04/05/interactive-responsive-small-multiples.html]
[http://projects.flowingdata.com/tut/linked_small_multiples_demo/] [Cerebral:Visualizing Multiple Experimental Conditions on a Graph with Biological Context. Barsky, Munzner, Gardy, and Kincaid.
509 510 511 IEEE Trans.Visualization and Computer Graphics (Proc. InfoVis 2008) 14:6 (2008), 1253–1260.] 512
Juxtapose vs animate View coordination: Design choices Idiom: Reorderable lists Encode System: Improvise
Manipulate FacetFacet Reduce

• animate: hard to follow if Share Navigation • list views Arrange Change Juxtapose Filter
many scattered changes or – easy lookup
Express Separate
many frames All Subset None
– useful when linked to
other views
– vs easy special case: animated
transitions
Overview/ • how many views is ok vs Select Partition Aggregate
Same Redundant Order Align
• juxtapose: easier to compare Detail too complex?
across small multiples Small Multiples – open research question
– different conditions (color), All Subset None Multiform,
same gene (layout) Overview/ No Linkage Use
Multiform Detail Navigate Superimpose Embed
Overview/
Same Redundant
Detail
Small Multiples
Map
Multiform, from Visualizations
categorical and ordered
[Building Highly-Coordinated In Improvise. Weaver.
[Cerebral:Visualizing Multiple Experimental Conditions on a Graph with Biological Context. Barsky, Munzner, Gardy, and Kincaid. Overview/ No Linkage
IEEE Trans.Visualization and Computer Graphics (Proc. InfoVis 2008) 14:6 (2008), 1253–1260.] 513 514 attributes
Proc. IEEE Symp. Information Visualization (InfoVis), pp. 159–166, 2004.] 515 516
Multiform Detail
Color
Partition into views Partitioning: Grouped vs small-multiple bars Partitioning: Recursive subdivision
Hue Saturation Luminance System: HIVE Partitioning: Recursive subdivision System: HIVE
• how to divide data between views Partition into Side-by-Side Views • single bar chart with grouped bars • small-multiple bar charts • split by neighborhood • switch order of splits
– split by state into regions – split by age into regions • then by type Size, Angle, Curvature, ...
– split into regions by attributes • complex glyph within each region showing all ages • one chart per region
– type then neighborhood
– flat, terrace, semi-detached, detached
– encodes association between items – compare: easy within state, hard across ages – compare: easy within age, harder across states • switch color
using spatial proximity • then time
11.0 11.0 65 Years and Over 65
11 Years and Over 11
– years as rows Shape – by price variation
– order of splits has major implications 455 to 64 Years
45 to 64 Years 5
10.0 10.0 25 to 44 Years 250 to 44 Years 0
18 to 24 Years 18
11 to 24 Years 11 – months as columns What?
for what patterns are visible Superimpose Layers 9.0 9.0 14 to 17 Years 145 to 17 Years 5

8.0 8.0
5 to 13 Years
Under 5 Years
5 0to 13 Years
Under
11 5 Years
0
11 • color by price • type patterns
7.0 7.0 5 5
Motion Why?
6.0 6.0
0
11
0
11 Direction, Rate, Frequency, ... – within specific type, which
5

neighborhoods inconsistent
5
5.0 5.0 0
11
0
11
• neighborhood patterns How?
4.0 4.0
3.0
5
0
5
0
– where it’s expensive
3.0 11 11
2.0 2.0
5 5 – where you pay much more for
0
1.0 11
0
detached type
1.0
Facet
11
5 5
0.0 0.0 0
0
CA TK NY CA FL TK IL NY PA FL ILCA TK
PA NY CA FL TK IL NYPA FL IL PA

[https://observablehq.com/@d3/grouped-bar-chart] [https://bl.ocks.org/mbostock/4679202]
[Configuring Hierarchical Layouts to Address Research Questions. Slingsby, Dykes, and Wood.
Partition into Side by Side Views [Configuring Hierarchical Layouts to Address Research Questions. Slingsby, Dykes, and Wood.
517 518 519 520
IEEE Transactions on Visualization and Computer Graphics (Proc. InfoVis 2009) 15:6 (2009), 977–984.] IEEE Transactions on Visualization and Computer Graphics (Proc. InfoVis 2009) 15:6 (2009), 977–984.]
How?
Partitioning: Recursive subdivision Encode System: HIVE
Manipulate FacetFacet Reduce Superimpose layers Static visual layering
• different encoding for Arrange Change Juxtapose Filter • layer: set of objects spread out over Superimpose Layers • foreground layer: roads
second-level regions Express Separate region – hue, size distinguishing main from minor
– choropleth maps – each set is visually distinguishable group – high luminance contrast from background
– extent: whole view
• background layer: regions
Order Align Select Partition Aggregate • design choices Coordinate Multiple Side By Side Views
– desaturated colors for water, parks, land areas
– how many layers, how to distinguish? Share Encoding: Same/Different
• encode with different, nonoverlapping channels
• user can selectively focus attention
Linked Highlighting
• two layers achievable, three with careful design
Use How?
Navigate Superimpose Embed – small static set, or dynamic from many possible? Encode Manipulate Facet Reduce

Share Data: All/Subset/None Arrange Change Juxtapose Filter


Express Separate

Map
from categorical and ordered [Get it right in black and white. Stone. 2010. Order Align Select Partition Aggregate
[Configuring Hierarchical Layouts to Address Research Questions. Slingsby, Dykes, and Wood. Share Navigation http://www.stonesc.com/wordpress/2010/03/get-it-right-in-black-and-white]
attributes
IEEE Transactions on Visualization and Computer Graphics (Proc. InfoVis 2009) 15:6 (2009), 977–984.] 521 522 523 524

Color
Idiom: Trellis plots Superimposing limits (static) Dynamic visual layering Use
CPU utilization over time

100
How? Navigate Superimpose Embed
Hue Saturation Luminance 80 How? How?
60
Encode
Encode Manipulate
Encode Manipulate
Facet Facet
Reduce
Manipulate Facet Reduce
Reduce
• superimpose within same frame • few layers, more lines 40

20
• interactive, based on selection Map
Arrange Change Juxtapose ChangeFilter
Size, Angle, Curvature, ... Arrange Arrange
Change JuxtaposeJuxtapose Filter
Filter
– color code by year – up to a few dozen lines • one-hop neighbour highlighting All Subset None
0
05:00 05:30 06:00 06:30 07:00 07:30 08:00
Express Separate from categorical and
Express ordered
Separate
100
Express Separateattributes
– but not hundreds 80
Color
60
click (heavyweight) hover (fast) Same Redundant
Overview/ Hue
Select Saturation
Align Luminance
Partition Select Aggregate Partition Aggregate
• partitioning Shape • superimpose vs juxtapose: empirical study 40

20
Detail Order Align Order
Small Multiples Select Partition Aggregate
– split by site, rows are barley varieties – same size: all multiples, vsWhat?
single superimposed
0
05:00 05:30 06:00 06:30 07:00 07:30 08:00 Order Align Size, Angle, Curvature, ...
100
Multiform,Use Use
• main-effects ordering • superimposed: local tasks 80
Different Overview/ No Linkage Navigate Superimpose Navigate
Embed Superimpose Embed
Motion Why?
• juxtaposed: global tasks, esp. for many charts
60
Multiform Detail Shape
– derive value of median for group Direction, Rate, Frequency, ... 40

20
Use
What?

Map Map Navigate Superimpose Embed


– order rows within view by variety median How?
0
05:00 05:30 06:00 06:30 07:00 07:30 08:00
from categorical and ordered Motion
from categorical and ordered Why?
Direction, Rate, Frequency, ...
attributes
attributes
– order views themselves by site median Color How?
Color
Hue Saturation Luminance Hue Saturation Luminance
Map
[Graphical Perception of Multiple Time Series.
Javed, McDonnel, and Elmqvist. IEEE Transactions
from categorical
Size, Angle, Curvature, and
... ordered Size, Angle, Curvature, ...
on Visualization and Computer Graphics (Proc. https://mariandoerk.de/edgemaps/demo/ attributes
[The Visual Design and Control of Trellis Display. Becker, Cleveland, & Shyu. IEEE InfoVis 2010) 16:6 (2010), 927–934.]
Journal of Computational and Graphical Statistics 5(2):123-155 1996.] http://mbostock.github.io/d3/talk/20111116/airports.html
525 526 527 Color
Shape Shape 528
How to handle complexity:
How? 3 previous strategies How to handle complexity:
How? 3 previous strategies + 1 more Reduce items and attributes Reducing Items and Attributes Reduce
Produce Produce
Encode Manipulate Facet Encode Manipulate Facet Filter Filter
Annotate Record Derive Annotate
Reduce
Record Derive
Reduce • reduce/increase: inverses Items
Visualization Analysis & Design tag
Arrange Change Juxtapose Filter
tag
Arrange Change Juxtapose Filter • filter
Aggregate
Express Separate Express Separate – pro: straightforward and intuitive
Attributes
• to understand and compute
Reduce: Aggregation & Filtering (Ch 13) Order
• derive new data to
Align Select Partition Aggregate Order
• derive new data to
Align Select Partition Aggregate
– con: out of sight, out of mind
show within view show within view
Search Search Aggregate
• change view over time • change view over time
• facet across • facet across Items
Target known Target unknown Target known Target unknown
Use multiple views Use multiple views
Navigate Superimpose Embed Navigate Superimpose Embed
Location Location
Lookup Browse Lookup • reduce items/attributes
Browse
Tamara Munzner known known within single view Attributes
Department of Computer Science
Location Map Location Map
University of British Columbia Locate Explore
from categorical and ordered Locate Explore
from categorical and ordered
unknown unknown
@tamaramunzner attributes attributes
530 531 532

Color Color
Reduce items and attributes Reducing Items and Attributes Reduce
Hue Filter
Saturation Luminance Hue Idiom: FilmFinder
Saturation Luminance Idiom: cross filtering System: Crossfilter
Filter Query Filter Query
• reduce/increase: inverses Items
• eliminate some elements • dynamic queries/filters for items • item filtering
Identify Size, Angle, Curvature,
Compare ...
Summarise Size, Angle, Curvature, ...
• filter – either items or attributes ReducingIdentify
Items and Attributes Compare
Reduce – tightly Summarise
coupled interaction and visual encoding idioms, so user can immediately see • coordinated views/controls combined
Aggregate • according to what? results of action
– pro: straightforward and intuitive Filter Filter – all scented histogram bisliders update when any ranges change
Attributes
• to understand and compute Shape – any possible function that partitions Items Shape
dataset into two sets What? What?
– con: out of sight, out of mind
Aggregate
• aggregation • attribute values bigger/smaller than x
Motion Attributes Why? Motion Why?
Aggregate • noise/signal
Direction, Rate, Frequency, ... Direction, Rate, Frequency, ...
– pro: inform about whole set
Items How? How?
– con: difficult to avoid losing signal
Reducing Items and Attributes Reduce • filters vs queries
• not mutually exclusive Aggregate
– query: start with nothing, add in elements
– combine filter, aggregate Filter Attributes Filter Items
– filters: start with everything, remove elements
– combine reduce, change, facet
Items – best approach depends on dataset size http://square.github.io/crossfilter/
https://observablehq.com/@uwdata/interaction
533
Attributes 534 [Ahlberg & Shneiderman,Visual Information Seeking:Tight Coupling of Dynamic Query Filters with Starfield Displays. CHI 1994.] 535 536

Aggregate
Aggregate Attributes Idiom: histogram Idiom: scented widgets pod, and the rug plot looks like theIdiom:
seeds within.
scented Kampstra (2008) also suggests a way of comparing two
widgets
20
• a group of elements is represented by a smaller number of derived • static item aggregation 15
• augmented widgets show information scent groups more easily: use the left and• right augmented
sides of widgets
the beanshow information
to display differentscent
distributions. A related idea
elements • task: find distribution 10
– better cues for information foraging: show whether – better cues for information foraging: show whether
value in drilling down further vs looking elsewhere is the[Scented
raindrop plotNavigation
Widgets: Improving (Barrowman
Cues with and Myers,
value 2003), but
in drilling its focus
down is on
further the display
vs looking of error distributions
elsewhere from
[Scented Widgets: Improving Navigation Cues with
Aggregate • data: table 5 Embedded Visualizations.Willett, Heer, and Agrawala. IEEE Embedded Visualizations.Willett, Heer, and Agrawala. IEEE

• concise use of space: histogram on slider TVCG (Proc. InfoVis 2007) 13:6 (2007), 1129–1136.]
• concise use of space: histogram on slider TVCG (Proc. InfoVis 2007) 13:6 (2007), 1129–1136.]

Items • derived data 0


complex models.
– new table: keys are bins, values are counts
Weight Class (lbs) Figure 4 demonstrates these density boxplots applied to 100 numbers drawn from each of four distribu-
• bin size crucial
– pattern can change dramatically depending on discretization tions with mean 0 and standard deviation 1: a standard normal, a skew-right distribution (Johnson distri-
Attributes – opportunity for interaction: control bin size on the fly
bution with skewness 2.2 and kurtosis 13), a leptikurtic distribution (Johnson distribution with skewness 0

and kurtosis 20) and a bimodal distribution (two normals with mean -0.95 and 0.95 and standard devia-
[Multivariate Network Exploration and Presentation: From Detail to Overview via
Selections and Aggregations. van den Elzen, van Wijk, IEEE TVCG 20(12): 2014
tion 0.31). Richer displays of density make it much easier to see important variations in the distribution:
537 538 539 540
(Proc. InfoVis 2014).]

Idiom: scented widgets Scented histogram bisliders: detailed Idiom: boxplot Idiom: Continuous scatterplot
multi-modality is particularly important, and yet completely invisible with the boxplot.
• augmented widgets show information scent • static item aggregation • static item aggregation
!

• data: table
!

– better cues for information foraging: show whether • task: find distribution ! !

4
!
!
!

value in drilling down further vs looking elsewhere


!

4
[Scented Widgets: Improving Navigation Cues with
Embedded Visualizations.Willett, Heer, and Agrawala. IEEE • data: table ! • derived data: table !

• concise use of space: histogram on slider


!
TVCG (Proc. InfoVis 2007) 13:6 (2007), 1129–1136.]
– key attribs x,y for pixels
!

2
• derived data
!

2
!

2
– quant attrib: overplot density
– 5 quant attribs
• dense space-filling 2D matrix

0
0
0

0
• median: central line
• color:
!
!

• lower and upper quartile: boxes


!
!
!
!

!2
!

!2
!

sequential categorical hue +


!
!

!2

!2
!
!

• lower upper fences: whiskers ! !


!

– values beyond which items are outliers


!

ordered luminance colormap

!4
! !

!4
– outliers beyond fence cutoffs explicitly shown n s k mm n • scalability
s k mm n s k mm n s k mm

• scalability – no limits on overplotting: [Continuous Scatterplots. Bachthaler and Weiskopf.


IEEE TVCG (Proc.Vis 08) 14:6 (2008), 1428–1435. 2008. ]
millions
Figure 4: From left to right: box plot, vase plot, of items
violin plot and bean plot. Within each plot, the distributions from left to
– unlimited number of items!
[Multivariate Network Exploration and Presentation: From Detail to Overview via
Selections and Aggregations. van den Elzen, van Wijk, IEEE TVCG 20(12): 2014
541
[ICLIC: Interactive categorization of large image collections. van der Corput and van Wijk. Proc. PacificVis 2016. ] 542 [40 years of boxplots.Wickham and Stryjewski. 2012] right are: standard normal (n), right-skewed
543
(s), leptikurtic (k), and bimodal (mm). A normal kernel and bandwidth of 544
(Proc. InfoVis 2014).]
Spatial aggregation Gerrymandering: MAUP for political gain Dynamic aggregation: Clustering Idiom: Hierarchical parallel coordinates
• MAUP: Modifiable Areal Unit Problem • clustering: classification of items into similar bins • dynamic item aggregation
– changing boundaries of cartographic regions can yield dramatically different results – based on similiarity measure • derived data: cluster hierarchy
– zone effects – hierarchical algorithms produce "similarity tree": cluster hierarchy • encoding:
• agglomerative clustering: start w/ each node as own cluster, then iteratively merge – cluster band with variable transparency, line at mean, width by min/max values
• cluster hierarchy: derived data used w/ many dynamic aggregation idioms – color by proximity in hierarchy

– cluster more homogeneous than whole dataset


• statistical measures & distribution more meaningful
[http://www.e-education.psu/edu/geog486/l4_p7.html, Fig 4.cg.6]
How?
Encode Manipulate Facet Reduce
– scale effects A real district in Pennsylvania:
Democrats won 51% of the vote but only 5 out of
Arrange Change Juxtapose Filter
18 house seats
Express Separate

https://blog.cartographica.com/blog/2011/5/19/ https://www.washingtonpost.com/news/wonk/wp/2015/03/01/ Order Align Select Partition Aggregate


[Hierarchical Parallel Coordinates for Exploration of Large Datasets. Fua,Ward, and Rundensteiner.
the-modifiable-areal-unit-problem-in-gis.html this-is-the-best-explanation-of-gerrymandering-you-will-ever-see/
545 546 547 Proc. IEEE Visualization Conference (Vis ’99), pp. 43– 50, 1999.] 548

Attribute aggregation: Dimensionality reduction Idiom: Dimensionality reduction for documents Use
How?
How? Navigate
How?
Superimpose Embed

Encode
Encode Manipulate
Encode Manipulate
Facet Facet
Reduce
Manipulate Facet Reduce
Reduce
• attribute aggregation Task 1 Task 2 Task 3
Map
Arrange Change
Arrange Juxtapose ChangeFilter
Arrange Change JuxtaposeJuxtapose Filter
Filter
– derive low-dimensional target space from high-dimensional measured space
• capture most of variance with minimal error
Express
Express
Separate from categorical and
Express
Separateattributes
ordered
Separate
Visualization Analysis & Design
wombat Color
– use when you can’t directly measure what you care about Order Align
Hue
Select
Order
Saturation
Align Luminance
Partition Select Aggregate Partition Aggregate

• true dimensionality of dataset conjectured to be smaller than dimensionality of measurements


• latent factors, hidden variables
In
HD data
Out
2D data
In
2D data
Out
Scatterplot
In
Scatterplot
Out
Labels for Use
Order Align
Use
Select
Size, Angle, Curvature, ... Partition Aggregate
Embed: Focus+Context (Ch 14)
ions Clusters & points Clusters & points clusters
Navigate Superimpose Navigate
Embed Superimpose Embed
Shape
benign What?
tumor Use
measurement DR What?
In High-
Why?
Produce
What?
In 2D data
Why? How? What? Why? Map
from categorical and ordered
Map
Motion
from
Navigate
categorical and ordered
Superimpose Embed
Why?
Discover Encode In Scatterplot Produce Direction, Rate, Frequency, ...
attributes
attributes
data malignant dimensional data Derive Out Scatterplot Explore Navigate In Clusters & points Annotate How?
Color Color
Out 2D data Out Clusters & Identify Select Out Labels for
points clusters Map
Hue Saturation Luminance Hue Saturation Luminance Tamara Munzner
data: Enjoy
9D measured space from categorical
Size, Angle, Curvature, and
... ordered Size, Angle, Curvature, ... Department of Computer Science
derived data: attributes University of British Columbia
2D target space
549 550 Color Shape 551 @tamaramunzner
Shape
Hue Saturation Luminance What?
What?

How to handle complexity:


How? 4 strategies Embed: Focus+Context Embed:
Motion Focus+Context
Motion Why? Idiom: DOITrees Revisited
Embed Reduce
Direction, Rate, Frequency, ... Why?
Size, Angle, Curvature, ...
Direction, Rate, Frequency, ...
How?
Encode Manipulate Facet Reduce • combine focus + context info • combine focus + context info How? • focus+context choice: elide
Derive
within single view within single view Elide Data – some items dynamically filtered out
nge Change Juxtapose Filter
– vs standard navigation within view – vsShape
standard navigation within view – some items dynamically aggregated together
press Separate What?
– vs multiple views – vs multiple views – some items shown in detail

• elide data
Motion Why?
• derive new data to Direction, Rate, Frequency, ... Superimpose Layer
der Align Select Partition Aggregate – selectively filter and aggregate
show within view How?

• change view over time


Embed
• facet across
Target unknown
e multiple views Navigate Superimpose Embed
Distort Geometry
p • reduce items/attributes
Browse
within single view

Explore
categorical and ordered Embed Reduce Embed Reduce
[DOITrees Revisited: Scalable, Space-Constrained Visualization of Hierarchical Data. Heer and Card.
Proc. Advanced Visual Interfaces (AVI), pp. 421–424, 2004.]
butes 553 554 555 556
Elide Data Elide Data
lor
ue Embed:
SaturationFocus+Context
Luminance Idiom: Fisheye Lens Embed: Focus+Context Distortion costs and benefits
Embed Reduce Embed Reduce fisheye lens magnifying lens
• combine focus + context info • F+C choice: distort geometry • combine focus + context info • benefits
e, Angle, Curvature,
within single... view
Summarise Elide Data within single view Elide Data
Superimpose Layer – shape: radial Superimpose Layer – combine focus and context
– vs standard navigation within view – vs standard navigation within view information in single view
– focus: single extent
– vs multiple views – vs multiple views
ape – extent: local • costs
• elide data Embed • elide data Embed
What? – metaphor: draggable lens – length comparisons impaired
Superimpose Layer Superimpose Layer neighborhood layering Bring and Go
– selectively filter and aggregate – selectively filter and aggregate • topology comparisons unaffected:
tion Distort Geometry Why? Distort Geometry
ction,•Rate,
distort geometry
Frequency, ... • distort geometry: connection, containment
– carefully chosen to integrate F+C How?
Embed design choices Embed
– effects of distortion unclear if
– region shape: radial, rectilinear, original structure unfamiliar
Distort Geometry complex Distort Geometry – object constancy/tracking may be
– how many regions: one, many impaired
– region extent: local, global
– interaction metaphor
[D3 Fisheye Lens] https://bost.ocks.org/mike/fisheye/ [Living Flows: Enhanced Exploration of Edge-Bundled Graphs Based on GPU-Intensive Edge Rendering.
557 558 559 Lambert, Auber, and Melançon. Proc. Intl. Conf. Information Visualisation (IV), pp. 523–530, 2010.] 560
Use
How?
How? Navigate
How?
Superimpose Embed Analysis Case Studies Graph-Theoretic Scagnostics
Encode
Encode Manipulate
Encode Manipulate
Facet Facet
Reduce
Manipulate Facet Reduce
Reduce Scagnostics VisDB InterRing
Map
• scatterplot diagnostics
Arrange Change
Arrange Juxtapose ChangeFilter
Arrange Change JuxtaposeJuxtapose Filter
Filter
Express Separate from categorical and
Express ordered
Separate –scagnostics SPLOM: each point is one original scatterplot
Express Separateattributes
Color
Hue Saturation
Order Align Select
Order Align Luminance
Partition Select Aggregate Partition Aggregate

Order Align Select


Size, Angle, Curvature, ... Partition Aggregate
Use Use
Navigate
Shape
Superimpose Navigate
Embed Superimpose Embed
Ch 15: Analysis Case Studies
Use
What? HCE PivotGraph Constellation
Map Map Navigate Superimpose Embed
from categorical and ordered Motion
from categorical and ordered Why?
Direction, Rate, Frequency, ...
attributes
attributes
How?
Color Color
Hue Saturation Luminance Hue Saturation Luminance
Map
from categorical
Size, Angle, Curvature, and
... ordered Size, Angle, Curvature, ...
attributes
Color
Shape Shape 561 562 563 [Graph-Theoretic Scagnostics Wilkinson, Anand, and Grossman. Proc InfoVis 05.] 564

Hue Saturation Luminance What?


What?

Scagnostics
Motion analysis Motion
Direction, Rate, Frequency, ... Why?
Why? VisDB pos
VisDB Results VisDB Results
Size, Angle, Curvature, ...
Direction, Rate, Frequency, ...
How? dimension j
How?
• table: draw pixels sorted, colored by relevance neg • partition into many small • partition into small number
• group by attribute or partition by attribute into multiple views
Figure 1:
neg
dimension i
pos
regions: dimensions of views
Shape grouped together –inspect each attribute
Spiral Shaped Arrangement
Figure 3: 2D-Arrangement of one Dimension
of one Dimension
What?
relevance factor dimension 1 dimension 2

pos
• • • pos
Motion Why? one data item
approximately
• • •
one data item
dimension j

Direction, Rate, Frequency, ... fulfilling the dimension j the


fulfilling neg
query query

How? • • • neg
neg pos

Figure 1: dimension i
• • •
Spiral Shaped Arrangement
Figure 3: 2D-Arrangement of one Dimension
of one Dimension
neg pos
dimension 3 dimension 4 dimension 5 relevance factor dimension 1 dimension 2
Figure 1: dimension i
Figure 2: Arrangement of Windows for Displaying five-dimensional Data
Spiral Shaped Arrangement • • •
Figure 3: 2D-Arrangement one
of data
oneitemDimension • • •
of one Dimension approximately one data item
fulfilling the fulfilling the
query query
relevance
relevance factorfactor dim.
dimension
1 dim. 2 1 dimension 2
• • •
• • •

• dim. 3 •
dim. 4 dim. 5 •
one data item • • • dimension 3 dimension 4 dimension 5
approximately one data item
Figure 2: Arrangement of Windows for Displaying five-dimensional Data
565 [VisDB: Database Exploration using Multidimensional Visualization, Keimthe and Kriegel, IEEE CG&A, 1994] 566
fulfilling the Figure 4: Grouping Arrangement for five-dimensional Data
fulfilling [VisDB: Database Exploration using Multidimensional Visualization, Keim and Kriegel, IEEE CG&A, 1994] 567 [VisDB: Database Exploration using Multidimensional Visualization, Keim and Kriegel, IEEE CG&A, 1994] 568
query query

VisDB Analysis Hierarchical Clustering




• Explorer


• •
relevance
factor dim. 1 dim. 2
HCE HCE
• heatmap, dendrogram dim. 3 dim. 4 dim. 5
• rank by
• multiple views
dimension 3 dimension 4 dimension 5
Figure 4: Grouping Arrangement for five-dimensional Data feature
Figure 2: Arrangement of Windows for Displaying five-dimensional Data idiom
–1D list
relevance
–2D
factor dim. 1 dim. 2 matrix

dim. 3 dim. 4 dim. 5

Figure 4: Grouping Arrangement for five-dimensional Data

[Interactively Exploring Hierarchical Clustering Results. Seo and Shneiderman, IEEE Computer 35(7): A rank-by-feature framework for interactive exploration of multidimensional data. Seo and Shneiderman. A rank-by-feature framework for interactive exploration of multidimensional data. Seo and Shneiderman.
569
80-86 (2002)] 570
Information Visualization 4(2): 96-113 (2005) 571
Information Visualization 4(2): 96-113 (2005) 572

HCE Analysis InterRing InterRing Analysis PivotGraph


• derived rollup network

original hierarchy blue subtree expanded tan subtree expanded

[InterRing: An Interactive Tool for Visually Navigating and Manipulating Hierarchical Structures.
573
Yang,Ward, Rundensteiner. Proc. InfoVis 2002, p 77-84.] 574 575
[Visual Exploration of Multivariate Graphs, Martin Wattenberg, CHI 2006.] 576
PivotGraph PivotGraph Analysis Analysis example: Constellation Using space: Constellation
• data • visual encoding
–multi-level network –link connection marks between
words
• node: word
–link containment marks to indicate
• link: words used in same subgraphs
dictionary definition
–encode plausibility with horiz spatial
• subgraph for each definition position
– not just hierarchical –encode source/sink for query with
clustering vert spatial position
–paths through network • spatial layout
• query for high-weight paths [Interactive Visualization of Large Graphs and Networks. Munzner.
Ph.D. Dissertation, Stanford University, June 2000.] –curvilinear grid: more room for
between 2 nodes longer low-plausibility paths
[Constellation: A Visualization Tool For Linguistic Queries from
– quant attrib: plausibility MindNet. Munzner, Guimbretière and Robertson. Proc. IEEE Symp.
InfoVis1999, p.132-135.]

[Visual Exploration of Multivariate Graphs, Martin Wattenberg, CHI 2006.] 577 578 579 [Interactive Visualization of Large Graphs and Networks. Munzner. Ph.D. Dissertation, Stanford University, June 2000.] 580

Using space: Constellation Constellation Analysis domain


abstraction
• edge crossings
–cannot easily minimize instances, since
position constrained by spatial encoding Visualization Analysis & Design idiom

algorithm
–instead: minimize perceptual impact
• views: superimposed layers
–dynamic foreground/background layers on Wrapup
mouseover, using color
–four kinds of constellations
• definition, path, link type, word
– not just 1-hop neighbors

Tamara Munzner
https://youtu.be/7sJC3QVpSkQ Department of Computer Science
[Interactive Visualization of Large Graphs and Networks. Munzner. Ph.D. Dissertation,
University of British Columbia How?
Encode Manipulate Facet Reduce
Stanford University, June 2000.] 581 582 @tamaramunzner 584
Arrange Change Juxtapose Filter
What? What? Express
What? Separate

Datasets Attributes domain Datasets Attributes domain Datasets Attributes domain More information
Data Types Attribute Types abstraction Data Types Why? Attribute Types abstraction Data Types
Order Why?
Align Select
Attribute Types
Partition Aggregate abstraction
Items Attributes Links Positions Grids Categorical Items Attributes Actions Positions
Links Grids Categorical Targets Items Attributes Actions Positions
Links Grids Categorical Targets • book
Data and Dataset Types Data and Dataset Types All Data Data and Dataset Types
Use
How?
All Data Navigate Superimpose Embed http://www.cs.ubc.ca/~tmm/vadbook
Analyze Analyze How? How?
Tables Networks &
Trees
Fields Geometry Clusters,
Sets, Lists
Ordered
Ordinal
idiom Tables Networks &
Consume
Trees
Fields Geometry Clusters,
Sets, Lists
Ordered
Trends
Ordinal
Outliers Features
idiom Tables Networks
Consume &Encode
Encode
Trees
Fields Geometry Clusters,Manipulate
Manipulate
Encode Facet
Ordered
Trends Manipulate
Sets, Lists
Facet
Reduce
Outliers Ordinal
Facet
Features Reduce
Reduce
idiom
– 20% promo code for book+ebook combo: HVN17
Items Items (nodes) Grids Items Items algorithm Items
Discover
Items (nodes)
Present
Grids
Enjoy
Items Items algorithm Items
Discover
Arrange
Arrange
Items (nodes)
Present
Grids
Enjoy
Map Change
ItemsArrange
Items Change Juxtapose ChangeFilter
JuxtaposeJuxtapose Filter
Filter algorithm – http://www.crcpress.com/product/isbn/9781466508910
Express Separate from categorical and
Express ordered
Separate
Attributes Links Positions Positions Attributes Links Positions Positions Attributes Links Positions Positions
Express Separateattributes
Attributes Attributes Quantitative Attributes Attributes Quantitative
Attributes
Attributes Attributes
Color
Quantitative
Attributes Select
– illustration acknowledgement: Eamonn Maguire
Hue Saturation Luminance Partition Aggregate
Produce Produce
Order Align Select
Order Align Partition Aggregate
Dataset Types Dataset Types One Dataset Types
Ordering Direction Annotate Record Derive Ordering DirectionMany Annotate Record Derive One
Ordering DirectionMany
Order NetworksAlign
Select Partition Aggregate
Tables Networks Fields (Continuous)
Grid of positions
Sequential
Tables tag
Networks Fields (Continuous)
Grid of positions
Distribution
Sequential Dependency Correlation Similarity Tables tag
Use
Size, Angle,
Fields Curvature,
(Continuous) ...
Use Grid of positions
Distribution
Sequential Dependency Correlation Similarity • full courses, papers, videos, software, talks
Attributes (columns) Attributes (columns) Attributes (columns)
Navigate Superimpose Navigate
Embed Superimpose Embed
Items
(rows)
Link
Cell
Diverging
Items
(rows)
Link
Cell
Extremes
Diverging
Items
(rows)
Link
Shape
Cell
Extremes
Diverging
http://www.cs.ubc.ca/group/infovis
Node Node Node
Search Search What?
Cell containing value
(item)
Attributes (columns) Cell containing value
(item)
Attributes (columns) Use
Cell containing
Map
value
(item)
Map Navigate
Attributes (columns)
Superimpose Embed http://www.cs.ubc.ca/~tmm
Value in cell Target known Target unknown
Value in cell Target
from categorical andknown
ordered Motion
Targetfrom categorical
unknownValue in cell
and ordered Why?
Visualization Analysis and Design. Munzner.
Cyclic Cyclic Direction, Rate, Frequency, ...
attributes Cyclic
Multidimensional Table Trees Multidimensional Table Trees attributes
Multidimensional Table Trees
Location Location CRC Press, AK Peters Visualization Series, 2014.
known
Lookup Browse Network Data knownColor
Lookup Browse
Color Network Data How?

Hue Saturation Luminance Hue Saturation Luminance


Location Locate Explore Topology Map
Location Locate Explore Topology
Value in cell
unknownValue in cell
unknown
from categorical and ordered Size, Angle, Curvature, ...
Value in cell

Size, Angle, Curvature, ...


attributes
Query Paths Query Paths
Geometry (Spatial) Geometry (Spatial) Color
Geometry (Spatial)
Shape Shape
Identify Compare Summarize Identify Hue Compare
Saturation Summarize
Luminance What?
What?
What? What?
Position Position Motion
Position
Motion
Why?
Why? @tamaramunzner
585 Spatial Data 586
Size, Angle, Curvature, ...
Direction, Rate, Frequency, ...
Direction, Rate, Frequency, ... Spatial Data 587 588
Why? Why?How?
Shape Shape How?
Dataset Availability What? Dataset Availability What? Dataset Availability What?
What?
Why?
Credits
Static Dynamic Why? Static Dynamic Why?
How?
Ch 2
Static
Shape
Dynamic
Data Types
Datasets
Why?
Attribute Types
How?
Attributes
Ch 3 Actions Targets
How? How? How? Categorical
What?
Items Attributes Links Positions Grids

• Drawing on lectures from many others including Motion Data and Dataset Types Why?
Analyze All Data

Direction, Rate, Frequency, ...


Consume Trends Outliers Features
– Alex Lex & Miriah Meyer, Utah, http://dataviscourse.net/ Tables Networks & Fields Geometry Clusters, Ordered
Trees Sets, Lists Ordinal Discover Present Enjoy
How?
Items Items (nodes) Grids Items Items

– Maureen Stone, StoneSoup/Tableau, Color in Information Display (VIS 2006) Attributes Links
Attributes
Positions
Attributes
Positions
Quantitative
Attributes
– Ben Jones, UW/Tableau Dataset Types
Ordering Direction
Produce
Annotate Record Derive One Many
– Hanspeter Pfister, Harvard, http://cs171.org/
Tables Networks Fields (Continuous) Distribution Dependency Correlation Similarity
Sequential tag
Attributes (columns) Grid of positions

Big Picture & Other Synthesis


Items Link

– Jeff Heer, Washington


Cell
(rows) Diverging
Node Extremes
Search
(item)
Cell containing value Attributes (columns)

– Enrico Bertini, NYU Tandon Multidimensional Table Trees


Value in cell
Cyclic
Target known Target unknown
Location
– Marti Hearst, UC Berkeley Value in cell
known
Lookup Browse Network Data
Location Locate Explore Topology
– Pat Hanrahan, Stanford unknown
Geometry (Spatial)
Query Paths
Position
Identify Compare Summarize
What?
Dataset Availability What?
Spatial Data
Static Dynamic Why?
Why?
Shape
How?
589 590 591 How? 592
Ch 4 Domain situation
Ch 5 Channels: Expressiveness Types and Effectiveness Ranks
Ch 6 Ch 7 Arrange Tables
Express Values
Observe target users using existing tools
Magnitude Channels: Ordered Attributes Identity Channels: Categorical Attributes • No unjustified 3D
Position on common scale Spatial region
–Power of the plane
Separate, Order, Align Regions
Data/task abstraction Position on unaligned scale Color hue –Disparity of depth
Separate Order Align
–Occlusion hides information
Length (1D size) Motion
Visual encoding/interaction idiom –Perspective distortion dangers
1 Key 2 Keys 3 Keys Many Keys
Tilt/angle Shape
Justify design with respect to alternatives –Tilted text isn’t legible List Matrix Volume Recursive Subdivision

Area (2D size) • No unjustified 2D


Algorithm Axis Orientation
Measure system time/memory Depth (3D position) • Eyes beat memory Rectilinear Parallel Radial
Analyze computational complexity • Resolution over immersion
Color luminance
Analyze results qualitatively • Overview first, zoom and filter, details on demand
Color saturation
Measure human time with lab experiment (lab study) Layout Density
• Responsiveness is required
Curvature Dense Space-Filling
Observe target users after deployment ( ) • Function first, form next
Volume (3D size)
Measure adoption 593 594 595 596

Arrange Spatial Data Encode Map Manipulate


Ch 8 Ch 9 Arrange Networks and Trees Ch 10 Ch 11
Use Given Color Size, Angle, Curvature, ...
Change over Time
Node–Link Diagrams
Geometry Connection Marks Color Encoding Length
Geographic NETWORKS TREES Hue Saturation Luminance
Angle
Other Derived Select
Color Map Area
Spatial Fields Categorical
Scalar Fields (one value per cell) Adjacency Matrix Curvature
Navigate
Derived Table Ordered
Isocontours Volume Item Reduction Attribute Reduction
NETWORKS TREES Sequential Diverging
Direct Volume Rendering Zoom
Geometric or Semantic
Slice

Bivariate Shape
Vector and Tensor Fields (many values per cell)
Pan/Translate Cut
Flow Glyphs (local)
Enclosure
Geometric (sparse seeds) Containment Marks Motion
NETWORKS TREES Motion Constrained Project
Textures (dense seeds) Direction, Rate,
Features (globally derived) Frequency, ...
597 598 599 600

Facet
Ch 12 Juxtapose and Coordinate Multiple Side-by-Side Views Ch 13 Reducing Items and Attributes Reduce
Ch 14 Ch 15
Scagnostics VisDB InterRing
Linked Highlighting
Filter Filter
Items Embed Reduce
Share Data: All/Subset/None
Elide Data Filter
Aggregate
Share Navigation
Attributes
Aggregate
Embed Superimpose Layer
All Subset None
tions Overview/ Aggregate
Same Redundant
Detail
Small Multiples Embed HCE PivotGraph Constellation
Multiform,
Items
Overview/ No Linkage
Multiform Detail Distort Geometry
Partition into Side-by-Side Views
Attributes
Enjoy
Superimpose Layers

601 602 603 604

How to handle complexity: 4 families of strategies Further reading: Ch 1 Further reading: Ch 2/3 selected
How?
• Visualization Analysis and Design. Munzner. AK Peters Visualization Series, CRC Press, 2014. • Visualization Analysis and Design. Munzner. AK Peters Visualization Series, CRC Press,
Encode
Derive Manipulate Facet Reduce – Chap 1: What’s Vis, and Why Do It? 2014.
Arrange Change Juxtapose Filter • The Nature of External Representations in Problem Solving. Jiajie Zhang. Cognitive Science 21:2 – Chap 2:What: Data Abstraction
(1997), 179-217. – Chap 3:Why:Task Abstraction
Express Separate
• A Representational Analysis of Numeration Systems. Jiajie Zhang and Donald A. Norman. Cognition
57 (1995), 271-295.
• A Multi-Level Typology of Abstract Visualization Tasks. Brehmer and Munzner. IEEE Trans.
Visualization and Computer Graphics (Proc. InfoVis) 19:12 (2013), 2376–2385.
• Why a Diagram Is (Sometimes) Worth Ten Thousand Words.. Jill H. Larkin and Herbert A. Simon.
• derive
Order newAlign
data to Select Partition Aggregate Further Reading Cognitive Science 11:1 (1987), 65-99. • Low-Level Components of Analytic Activity in Information Visualization. Amar, Eagan, and
show within view • Graphs in Statistical Analysis.F.J. Anscombe. American Statistician 27 (1973), 17-21. Stasko. Proc. IEEE InfoVis 2005, p 111–117.
• change view over time • Design Study Methodology: Reflections from the Trenches and the Stacks. Michael Sedlmair, Miriah • A taxonomy of tools that support the fluent and flexible use of visualizations. Heer and
Target unknown Meyer, and Tamara Munzner. IEEE Trans.Visualization and Computer Graphics (Proc. InfoVis 2012),
Use Shneiderman. Communications of the ACM 55:4 (2012), 45–54.
• facet across multiple Navigate Superimpose Embed 18(12):2431-2440, 2012.
• Rethinking Visualization: A High-Level Taxonomy. Tory and Möller. Proc. IEEE InfoVis 2004, p
p views Browse • Information Visualization: Perception for Design, 3rd edition, Colin Ware, Morgan Kaufmann, 2013.
151–158.
• Current approaches to change blindness Daniel J. Simons.Visual Cognition 7, 1/2/3 (2000), 1-15.
• reduce items/attributes • Visualization of Time-Oriented Data. Aigner, Miksch, Schumann, and Tominski. Springer,
Map • Semiology of Graphics, Jacques Bertin, Gauthier-Villars 1967, EHESS 1998
e within single view
Explore
from categorical and ordered • The Visual Display of Quantitative Information. Edward R. Tufte. Graphics Press, 1983.
2011.
605 606 607 608
Further reading, Ch 2 full Further reading, Ch 3 full Further reading: Ch 4 Guerilla/Discount Usability
• Readings in Information Visualization: Using Vision To Think, Chapter 1. Stuart K. Card, Jock Mackinlay, and • A Multi-Level Typology of Abstract Visualization Tasks.. Matthew Brehmer and Tamara Munzner. IEEE Transactions on Visualization and
Computer Graphics (Proc. InfoVis 13) 19:12 (2013), 2376-2385.
• Visualization Analysis and Design. Munzner. AK Peters Visualization Series, CRC Press, • grab a few people and watch them use your interface
Ben Shneiderman. Morgan Kaufmann, 1999. • A characterization of the scientific data analysis process. Rebecca R. Springmeyer, Meera M. Blattner, and Nelson M. Max. Proc.Vis 1992, p 2014.
• Rethinking Visualization: A High-Level Taxonomy. InfoVis 2004, p 151-158, 2004. 235-252. – even 3-5 gives substantial coverage of major usability problems
– Chap 4: Analysis: Four Levels for Validation
• The Eyes Have It: A Task by Data Type Taxonomy for Information Visualizations Ben Shneiderman, Proc. • Low-Level Components of Analytic Activity in Information Visualization. Robert Amar, James Eagan, and John Stasko. Proc. InfoVis 05, pp. – agile/lean qualitative, vs formal quantitative user studies
111-117. • Storks Deliver Babies (p= 0.008). Robert Matthews. Teaching Statistics 22(2):36-38, 2000.
1996 IEEE Visual Languages • Task taxonomy for graph visualization. Bongshin Lee, Catherine Plaisant, Cynthia Sims Parr, Jean-Daniel Fekete, and Nathalie Henry. Proc. BELIV • goal is not statistical significance!
• Data Visualization: Principles and Practice, 2nd ed. Alexandru Telea, CRC Press, 2014. 2006. • The Earth is spherical (p < 0.05): alternative methods of statistical inference. Kim J.Vicente
• Interactive Dynamics for Visual Analysis. Jeffrey Heer and Ben Shneiderman. Communications of the ACM, 55(4), pp. 45-54, 2012. and Gerard L. Torenvliet. Theoretical Issues in Ergonomics Science, 1(3):248-271, 2000. • think-aloud protocol
• Interactive Data Visualization: Foundations, Techniques, and Applications, 2nd ed. Matthew O. Ward, • What does the user want to see?: what do the data want to be? A. Johannes Pretorius and Jarke J. van Wijk. Information Visualization
Georges Grinstein, Daniel Keim. CRC Press, 2015. 8(3):153-166, 2009. • The Prospects for Psychological Science in Human-Computer Interaction. Allen Newell – contextual inquiry (conversations back and forth) vs fly on the wall (you’re silent)
• Chapter 1, Readings in Information Visualization: Using Vision to Think. Stuart Card, Jock Mackinlay, and Ben Shneiderman, Morgan Kaufmann
• The Visualization Handbook. Charles Hansen and Chris Johnson, eds. Academic Press, 2004. 1999. and Stuart K. Card. Journal Human-Computer Interaction 1(3):209-242, 1985.
• Visualization Toolkit: An Object-Oriented Approach to 3D Graphics, 4th ed. Will Schroeder, Ken Martin, • An Operator Interaction Framework for Visualization Systems. Ed H. Chi and John T. Riedl. Proc. InfoVis 1998, p 63-70. • How to do good research, get it published in SIGKDD and get it cited!, Eamonn Keogh,
and Bill Lorensen. Kitware 2006. • Nominal, Ordinal, Interval, and Ratio Typologies are Misleading. Paul F.Velleman and Leland Wilkinson. The American Statistician 47(1):65-72,
1993. SIGKDD Tutorial 2009.
• The Structure of the Information Visualization Design Space. Stuart Card and Jock Mackinlay, Proc. InfoVis • Rethinking Visualization: A High-Level Taxonomy. Melanie Tory and Torsten Möller, Proc. InfoVis 2004, pp. 151-158.
97. • SpaceTree: Supporting Exploration in Large Node Link Tree, Design Evolution and Empirical Evaluation. Catherine Plaisant, Jesse Grosjean, and
• False-Positive Psychology: Undisclosed Flexibility in Data Collection and Analysis Allows
• Polaris: A System for Query, Analysis and Visualization of Multi-dimensional Relational Databases Ben B. Bederson. Proc. InfoVis 2002. Presenting Anything as Significant. Joseph P. Simmons, Leif D. Nelson and Uri Simonsohn.
(extended paper) Chris Stolte, Diane Tang and Pat Hanrahan. IEEE TVCG 8(1):52-65 2002. • TreeJuxtaposer: Scalable Tree Comparison using Focus+Context with Guaranteed Visibility Tamara Munzner, Francois Guimbretiere, Serdar
Tasiran, Li Zhang, and Yunhong Zhou. SIGGRAPH 2003.
Psychological Science 22(11):1359-1366, 2011.
• Visualization of Time-Oriented Data. Wolfgang Aigner, Silvia Miksch, Heidrun Schumann, Chris Tominski. • Feature detection in linked derived spaces. Chris Henze. Proc.Visualization (Vis) 1998, p 87-94. • Externalisation - how writing changes thinking.. Alan Dix. Interfaces, Autumn 2008.
Springer 2011. 609
• Using Strahler numbers for real time visual exploration of huge graphs. David Auber. Intl Conf. Computer Vision and Graphics, 2002, p 56-69. 610 611 612

Further reading, usability Further Reading: Ch 5 Further reading: Ch 6 selected Further reading, Ch 6 full
• 7 Step Guide to Guerrilla Usability Testing, Markus Piper • Visualization Analysis and Design. Munzner. AK Peters Visualization Series. CRC Press. 2014
– Chap 5: Marks and Channels
• Visualization Analysis and Design. Tamara Munzner. CRC Press, 2014. • Visual Thinking for Design, Colin Ware, Morgan Kaufmann 2008.
• Information Visualization: Perception for Design, 3rd edition, Colin Ware, Morgan Kaufmann, 2013.
– https://userbrain.net/blog/7-step-guide-guerrilla-usability-testing-diy-usability-testing-method • Semiology of Graphics, Jacques Bertin, Gauthier-Villars 1967, EHESS 1998. – Chap 6: Rules of Thumb • The Use of 2-D and 3-D Displays for Shape Understanding versus Relative Position Tasks. Mark St. John, Michael B. Cowen, Harvey S. Smallman, and Heather M. Oonk.
Human Factors 43:1 (2001), 79-98.
• Graphical Perception: Theory, Experimentation and the Application to the Development of Graphical Models. William S. Cleveland, Robert
• The Art of Guerrilla Usability Testing, David Peter Simon McGill, J. Am. Stat. Assoc. 79:387, pp. 531-554, 1984.
• An Evaluation of Cone Trees. Andy Cockburn and Bruce McKenzie. In People and Computers XIV: Usability or Else. British Computer Society Conference on Human
Computer Interaction, pp. 425-436. Springer, 2000.
– http://www.uxbooth.com/articles/the-art-of-guerrilla-usability-testing/ • A Model for Studying Display Methods of Statistical Graphics (with Discussion). William S. Cleveland. Journal of Computational and Statistical
Graphics 2(4):323-364 1993. • Designing with the Mind in Mind: Simple Guide to Understanding User • 3D or Not 3D? Evaluating the Effect of the Third Dimension in a Document Management System. Andy Cockburn and Bruce McKenzie. Proc. CHI 2003, p 434-441.
• Evaluating Spatial Memory in Two and Three Dimensions. Andy Cockburn and Bruce McKenzie. International Journal of Human-Computer Studies. 61(30):359-373.
• Discount Usability: 20 Years, Jakob Nielsen • Automating the Design of Graphical Presentations of Relational Information. Jock Mackinlay, ACM Transaction on Graphics, vol. 5, no. 2, April
1986, pp. 110-141.
Interface Design Rules. Jeff Johnson. Morgan Kaufmann, 2010. • Supporting and Exploiting Spatial Memory in User Interfaces. Joey Scarr, Andy Cockburn, and Carl Gutwin. Foundations and Trends in Human-Computer Interaction.
2013. 6:1 1-84.
– https://www.nngroup.com/articles/discount-usability-20-years/ • Information Visualization: Perception for Design, 3rd edition, Colin Ware, Morgan Kaufmann, 2013. – Chap 12:We Have Time Requirements • Principles of Traditional Animation Applied to Computer Animation John Lasseter, Proceedings of SIGGRAPH 87, Computer Graphics, 21(4), pp. 35-44, July 1987.
• How Maps Work: Representation,Visualization, and Design. Alan M. MacEachren. Guilford Press, 1995. • Animation: Can It Facilitate? Barbara Tversky, Julie Morrison, Mireille Betrancourt. International Journal of Human Computer Studies 57:4, pp 247-262, 2002.
• Interaction Design: Beyond Human-Computer Interaction • Crowdsourcing Graphical Perception: Using Mechanical Turk to Assess Visualization Design. Jeffrey Heer and Michael Bostock. Proc. CHI 2010.
• Structuring information interfaces for procedural learning. Jeffrey M. Zacks and Barbara Tversky. Journal of Experimental Psychology: Applied,Vol 9(2), Jun 2003, 88-100.
• Effectiveness of Animation in Trend Visualization. George Robertson and Roland Fernandez and Danyel Fisher and Bongshin Lee and John Stasko. IEEE Trans. on
– Preece, Sharp, Rogers. Wiley, 4th edition, 2015. • Taxonomy-Based Glyph Design---With a Case Study on Visualizing Workflows of Biological Experiments. Eamonn Maguire, Philippe Rocca-
• The Non-Designer’s Design Book. 3rd edition. Robin Williams. Peachpit Press, Visualization and Computer Graphics 14(6):1325-1332, 2008 (Proc. InfoVis08).
Serra, Susanna-Assunta Sansone, Jim Davies, and Min Chen. IEEE TVCG (Proc. InfoVis 12) 18(12):2603-2612 2012. • Current Approaches to Change Blindness. Daniel J. Simons.Visual Cognition 7:1/2/3 (2000), 1-15.
• About Face: The Essentials of Interaction Design • Glyph-Based Visualization: Foundations, Design Guidelines, Techniques and Applications. Rita Borgo, Johannes Kehrer, David H.S. Chung, Eamonn 2008. • The eyes have it: A task by data type taxonomy for information visualizations. Ben Shneiderman. Proc. Conf.Visual Languages 1996, p 336-343.
Maguire, Robert S. Laramee, Helwig Hauser, Matthew Ward, and Min Chen. Eurographics State of the Art Reports (STAR):39-63 2013. • The Notion of Overview in Information Visualization. Kaspar Hornbaek and Morten Hertzum. International Journal of Human-Computer Studies 69:7-8 (2011), 509-525.
– Cooper, Reimann, Cronin, Noessel. Wiley, 4th edition, 2014. • On the Theory of Scales of Measurement. S. S. Stevens. Science 103(2684):677-680, 1946. • The Information Visualizer, an Information Workspace. Stuart Card, George Robertson, and Jock Mackinlay. Proc. CHI 1991, p 181-186.

• Task-Centered User Interface Design. Lewis & Rieman, 1994 • Psychophysics: Introduction to Its Perceptual, Neural, and Social Prospects, S. S. Stevens, Wiley 1975.
• Visual Thinking for Design, Colin Ware, Morgan Kaufmann 2008.
• Designing with the Mind in Mind: Simple Guide to Understanding User Interface Design Rules. Jeff Johnson. Morgan Kaufmann, 2010.
• A Framework of Interaction Costs in Information Visualization. IEEE Transactions on Visualization and Computer Graphics (Proc. InfoVis 08) 14:6 (2008), 1149-1156.
– http://hcibib.org/tcuid/ • Perception in Vision web page with demos, Christopher Healey. (see also Attention and Visual Memory in Visualization and Computer Graphics,
• Toward a Deeper Understanding of the Role of Interaction in Information Visualization. Ji Soo Yi,Youn Ah Kang, John T. Stasko, and Julie A. Jacko. TVCG (Proc. InfoVis 07)
13:6 (2007), 1224-1231.
Christopher G. Healey and James T. Enns, IEEE TVCG 18(7):1170-1188 2012.)
• Designing with the Mind in Mind. Jeff Johnson. Morgan Kaufmann, 2nd, 2014. 613
• Feature Analysis in Early Vision: Evidence from Search Asymmetries. Treisman and Gormican. Psychological Review 95(1):15-48, 1988. 614 615
• Get It Right in Black and White. Maureen Stone. Functional Color, 2010.
• The Non-Designer's Design Book. Robin Williams. Peachpit Press, 2008. 616

Further reading: Ch 7 selected Further reading, Ch 7 full Further reading: Ch 8 selected Further reading, Ch 8 full
• Visualization Analysis and Design. Munzner. AK Peters Visualization Series,


The Structure of the Information Visualization Design Space. Stuart K. Card and Jock D. Mackinlay. Proc InfoVis 1999, pp. 92-99.
Visual Techniques for Exploring Databases.. Daniel A. Keim. KDD 1997 Tutorial Notes, 1997. • Visualization Analysis and Design. Munzner. AK Peters Visualization Series, • web site: A Brief History of Data Visualization, http://www.datavis.ca/milestones, Michael Friendly. article: A Brief History of Data Visualization. Michael Friendly. In Handbook of Data
Visualization, Computational Statistics, edited by Antony Unwin, Chun-houh Chen, and Wolfgang K. Härdle, pp. 15-56. Springer, 2008.

CRC Press, 2014. •



The Grammar of Graphics, 2nd edition. Leland Wilkinson. Springer, 2005.
Visualization Course Figures. Michael McGuffin, 2014
CRC Press, 2014. • The Evolution of Thematic Cartography/A Research Methodology and Historical Review.. Alan M. MacEachren. The Canadian Cartographer 16:1 (1979), 17-33.
• Thematic Cartography and Geovisualization, Third edition. Terry A. Slocum, Robert B. McMaster, Fritz C. Kessler, and Hugh H. Howard. Prentice Hall, 2008.
• The Generalized Pairs Plot. John W. Emerson, Walton A. Green, Barret Schloerke, Dianne Cook, Heike Hofmann, and Hadley Wickham. Journal of Computational and Graphical Statistics • Overview of Visualization. William J. Schroeder and Kenneth M. Martin. In The Visualization Handbook, edited by Charles Hansen and Christopher Johnson, pp. 3-39. Elsevier, 2005.
– Chap 7: Arrange Tables 22:1 (2012), 79-91. –Chap 8: Arrange Spatial Data • Overview of Volume Rendering.. Arie Kaufman and Klaus Mueller. In The Visualization Handbook, edited by Charles C. Hansen and Christopher R. Johnson, pp. 127-174. Elsevier, 2005.
• Interactive Dynamics for Visual Analysis: A Taxonomy of Tools That Support the Fluent and Flexible Use of Visualizations. Jeffrey Heer and Ben Shneiderman. Queue 10:2 (2012), 30-55. • Marching Cubes: A High Resolution 3D Surface Construction Algorithm.. William E. Lorensen and Harvey E. Cline. Computer Graphics (Proc. SIGGRAPH 87) 21:4 (1987), 163-169.
• Visualizing Data. Cleveland. Hobart Press, 1993. • Sémiologie Graphique: Les diagrammes - Les réseaux - Les cartes. Jacques Bertin. Gauthier-Villard, 1967. Reissued by Editions de l'Ecole des Hautes Etudes en Sciences in 1999. • How Maps Work: Representation,Visualization, and Design. MacEachren. • A Survey of the Marching Cubes Algorithm. Timothy S. Newman and Hong Yi. Computers & Graphics 30:5 (2006), 854-879.
• web site: A Brief History of Data Visualization.. Michael Friendly. article: A Brief History of Data Visualization. Michael Friendly. In Handbook of Data Visualization, Computational • Simplifying Flexible Isosurfaces Using Local Geometric Measures. Hamish Carr, Jack Snoeyink, and Michiel van de Panne. Proc. IEEE Conf.Visualization (Vis) 2004, pp. 497-504.

• A Brief History of Data Visualization. Friendly. 2008. Statistics, edited by Antony Unwin, Chun-houh Chen, and Wolfgang K. Härdle, pp. 15-56. Springer, 2008. Guilford Press, 1995. • Real-Time Volume Graphics. Klaus Engel, Markus Hadwiger, Joe Kniss, Christof Reza-Salama, and Daniel Weiskopf. A K Peters, 2006.
• Visualizing Data. William S. Cleveland. Hobart Press, 1993. • Volume Rendering.. Robert A. Drebin, Loren C. Carpenter, and Pat Hanrahan. Computer Graphics (Proc. SIGGRAPH 88) 22:4 (1988), 65-74.
http://www.datavis.ca/milestones •

ThemeRiver:Visualizing Theme Changes over Time. Susan Havre, Beth Hetzler, and Lucy Nowell. Proc. InfoVis 2000, pp. 9-20.
Stacked Graphs Geometry & Aesthetics.. Lee Byron and Martin Wattenberg. IEEE Transactions on Visualization and Computer Graphics (Proc. InfoVis 08) 14:6 (2008), 1245-1252.
• Overview of visualization. Schroeder and. Martin. In The Visualization • Display of Surfaces from Volume Data. Marc Levoy. IEEE Computer Graphics and Applications 8:3 (1988), 29-37.
• Interactive Volume Rendering Techniques. Joe Kniss. Master's thesis, University of Utah, Department of Computer Science, 2002. a
• Bars and Lines: A Study of Graphic Communication.. Jeff Zacks and Barbara Tversky. Memory and Cognition 27:6 (1999), 1073-1079. Handbook, edited by Charles Hansen and Christopher Johnson, pp. 3–39. • Multidimensional Transfer Functions for Volume Rendering. Joe Kniss, Gordon Kindlmann, and Charles Hansen. In The Visualization Handbook, edited by Charles Hansen and
• The Shape Parameter of a Two-Variable Graph. William S. Cleveland, Marylyn E. McGill, and Robert McGill. Journal of the American Statistical Association 83:402 (1988), 289-300. Christopher Johnson, pp. 189-210. Elsevier, 2005.
• Multi-Scale Banking to 45 Degrees.. Jeffrey Heer and Maneesh Agrawala. IEEE Transactions on Visualization and Computer Graphics (Proc. InfoVis 06) 12:5 (2006), 701-708. Elsevier, 2005. • Overview of Flow Visualization. Daniel Weiskopf and Gordon Erlebacher. In The Visualization Handbook, edited by Charles Hansen and Christopher Johnson, pp. 261-278. Elsevier,
• The History of the Cluster Heat Map.. Leland Wilkinson and Michael Friendly. The American Statistician 63:2 (2009), 179-184. 2005.


Seriation and Matrix Reordering Methods: An Historical Overview.. Innar Liiv. Journal of Statistical Analysis and Data Mining 3:2 (2010), 70-91.
Parallel Coordinates: A Tool for Visualizing Multi-Dimensional Geometry. Alfred Inselberg and Bernard Dimsdale. Proc. IEEE Conf.Visualization (Vis), 1990.
• Real-Time Volume Graphics. Engel, Hadwiger, Kniss, Reza-Salama, and Weiskopf. • Over Two Decades of Integration-Based Geometric Flow Visualization. Tony McLouglin, Robert S. Laramee, Ronald Peikert, Frits H. Post, and Min Chen. Computer Graphics Forum
(Proc. Eurographics 09, State of the Art Reports) 6:29 (2010), 1807-1829.
• Parallel Coordinates:Visual Multidimensional Geometry and Its Applications.. Alfred Inselberg. Springer, 2009. AK Peters, 2006. • The State of the Art in Flow Visualization: Dense and Texture-Based Techniques. Robert S. Laramee, Helwig Hauser, Helmut Doleisch, Benjamin Vrolijk, Frits H. Post, and Daniel
Weiskopf. Computer Graphics Forum (Proc. Eurographics 04) 23:2 (2004), 203-221.
• Uncovering Strengths and Weaknesses of Radial Visualizations - An Empirical Approach. Stephan Diehl, Fabian Beck, and Michael Burch. IEEE Transactions on Visualization and Computer
• The State of the Art in Flow Visualisation: Feature Extraction and Tracking. Frits H. Post, Benjamin Vrolijka, Helwig Hauser, Robert S. Laramee, and Helmut Doleisch. Computer

Graphics (Proc. InfoVis 10) 16:6 (2010), 935-942.
A Survey of Radial Methods for Information Visualization.. Geoffrey M. Draper,Yarden Livnat, and Richard F. Riesenfeld. IEEE Transactions on Visualization and Computer Graphics 15:5
• Overview of flow visualization. Weiskopf and Erlebacher. In The Visualization Graphics Forum (Proc. Eurographics 03) 22:4 (2003), 1-17.
• Imaging Vector Fields Using Line Integral Convolution. Brian Cabral and Leith Casey Leedom. SIGGRAPH 1993, pp. 263-270.

(2009), 759-776.
Designing Pixel-Oriented Visualization Techniques: Theory and Applications. Daniel A. Keim. IEEE Transactions on Visualization and Computer Graphics 6:1 (2000), 59-78. Handbook, edited by Charles Hansen and Christopher Johnson, pp. 261–278. • Visualization and Processing of Tensor Fields. Joachim Weickert and Hans Hagen, editors. Springer, 2006.


Seesoft - A Tool for Visualizing Line Oriented Software Statistics. Stephen G. Eick, Joseph L. Steffen, and Eric E Sumner, Jr. IEEE Transactions on Software Engineering 18:11 (1992), 957-968.
Visualization of Test Information to Assist Fault Localization.. James A. Jones, Mary Jean Harrold, and John Stasko. Proc. International Conference on Software Engineering (ICSE), pp. 618
Elsevier, 2005. • An Introduction to Visualization of Diffusion Tensor Imaging and Its Applications. A.Vilanova, S. Zhang, G. Kindlmann, and D. Laidlaw. In Visualization and Processing of Tensor Fields, pp.
121-153. Springer, 2006.
617 619 • Superquadric Tensor Glyphs. Gordon Kindlmann. Proc. Eurographics/IEEE Conference on Visualization (VisSym), pp. 147-154. Eurographics, 2004. 620
467-477. ACM, 2002.

Further reading: Ch 9 selected Further reading, Ch 9 full Further reading: Ch 10 selected Further reading, Ch 10 full
• Visualization Analysis and Design. Munzner. AK Peters Visualization Series, CRC Press, • Graph Visualisation in Information Visualisation: A Survey. Ivan Herman, Guy Melançon, and M. Scott Marshall. IEEE Transactions on Visualization and Computer Graphics (TVCG) 6:1
(2000), 24-44. • Visualization Analysis and Design. Munzner. AK Peters Visualization Series, CRC Press, • Information Visualization: Perception for Design, 3rd edition, Colin Ware, Morgan Kaufmann, 2013.
2014. • Visual Analysis of Large Graphs: State-of-the-Art and Future Research Challenges. von Landesberger et al. Computer Graphics Forum 30:6 (2011), 1719-1749. 2014 • A Field Guide To Digital Color, Maureen Stone, AK Peters 2003.
• Simple Algorithms for Network Visualization: A Tutorial.McGuffin.Tsinghua Science and Technology (Special Issue on Visualization and Computer Graphics) 17:4 (2012), 383-398.
–Chap 9: Arrange Networks and Trees • Just How Dense Are Dense Graphs in the Real World?: A Methodological Note. Guy Melançon. Proc AVI Workshop BEyond time and errors: novel evaLuation methods for –Chap 10: Map Color and Other Channels • Representing Colors as Three Numbers, Maureen Stone, IEEE Computer Graphics and Applications,
Information Visualization (BELIV). ACM, 2006.
• Visual Analysis of Large Graphs: State-of-the-Art and Future Research Challenges. von • Drawing on Physical Analogies. Ulrik Brandes. In Drawing Graphs: Methods and Models, LNCS Tutorial, 2025, edited by M. Kaufmann and D.Wagner, LNCS Tutorial, 2025, pp. 71-86. • ColorBrewer, Brewer. 25(4), July 2005, pp. 78-85.
Springer-Verlag, 2001.
Landesberger et al. Computer Graphics Forum 30:6 (2011), 1719–1749. • A Fast Adaptive Layout Algorithm for Undirected Graphs. A. Frick, A. Ludwig, and H. Mehldau. Proc. International Symposium on Graph Drawing (GD 94), Lecture Notes in –http://www.colorbrewer2.org • Color use guidelines for data representation C. Brewer, 1999.
Computer Science, 894, pp. 388-403. Springer, 1995.
• Simple Algorithms for Network Visualization: A Tutorial. McGuffin. Tsinghua Science and • Efficient and High Quality Force-Directed Graph Drawing. Yifan Hu. The Mathematica Journal 10 (2005), 37-71.
• Color In Information Display. Stone. IEEE Vis Course Notes, 2006. • How Not to Lie with Visualization, Bernice E. Rogowitz and Lloyd A. Treinish, Computers In Physics
Technology (Special Issue on Visualization and Computer Graphics) 17:4 (2012), 383–398.
• Drawing Large Graphs with a Potential-Field-Based Multilevel Algorithm. S. Hachul and M. Jünger. Proc International Symposium on Graph Drawing (GD 04), Lecture Notes in 10(3) May/June 1996, pp 268-273.
Computer Science, 3383, pp. 285-295. Springer, 2004.
–http://www.stonesc.com/Vis06
• TopoLayout: Multilevel Graph Layout by Topological Features. Daniel Archambault, Tamara Munzner, and David Auber. IEEE Transactions on Visualization and Computer Graphics 13:2 • Rainbow Color Map (Still) Considered Harmful. David Borland and Russell M. Taylor, III. IEEE
• Drawing on Physical Analogies. Brandes. In Drawing Graphs: Methods and Models, LNCS (2007), 305-317.
• A Field Guide to Digital Color. Stone. AK Peters, 2003. Computer Graphics and Applications 27:2 (2007), 14-17.
• MatrixExplorer: A Dual-Representation System to Explore Social Networks. Nathalie Henry and Jean-Daniel Fekete. IEEE Transactions on Visualization and Computer Graphics
Tutorial, 2025, edited by M. Kaufmann and D. Wagner, LNCS Tutorial, 2025, pp. 71–86. (Proc. InfoVis 06) 12:5 (2006), 677-684.
• NodeTrix: A Hybrid Visualization of Social Networks. Nathalie Henry, Jean-Daniel Fekete, and Michael McGuffin. IEEE Transactions on Computer Graphics and Visualization (Proc. • Rainbow Color Map (Still) Considered Harmful. Borland and Taylor. IEEE Computer Graphics • Information Visualization: Perception for Design, 3rd edition, Colin Ware, Morgan Kaufmann, 2013.
Springer-Verlag, 2001. InfoVis 07) 13:6 (2007), 1302-1309.
and Applications 27:2 (2007), 14–17.
• On the Readability of Graphs Using Node-Link and Matrix-Based Representations: A Controlled Experiment and Statistical Analysis. Mohammad Ghoniem, Jean-Daniel Fekete, and • A Rule-Based Tool for Assisting Colormap Selection.. Lawrence D. Bergman, Bernice E. Rogowitz, and
• http://www.treevis.net Treevis.net: A Tree Visualization Reference. Schulz. IEEE Computer Philippe Castagliola. Information Visualization 4:2 (2005), 114-135.
• Visual Thinking for Design. Ware. Morgan Kaufmann, 2008. Lloyd A. Treinish. Proc. IEEE Visualization (Vis) 1995, 118-125.
• Quantifying the Space-Efficiency of 2D Graphical Representations of Trees. Michael J. McGuffin and Jean-Marc Robert. Information Visualization 9:2 (2010), 115-140.
Graphics and Applications 31:6 (2011), 11–15. • web site: treevis.net. article: A Tree Visualization Reference. Hans-Jö rg Schulz. IEEE Computer Graphics and Applications 31:6 (2011), 11-15. • An Empirical Inquiry Concerning Human Understanding of Two-Variable Color Maps.. Howard Wainer
• The Design Space of Implicit Hierarchy Visualization: A Survey. Hans-J&oouml;rg Schulz, Steffen Hadlak, and Heidrun Schumann. IEEE Transactions on Visualization and Computer • Information Visualization: Perception for Design, 3rd edition. Ware. Morgan Kaufmann /
• Perceptual Guidelines for Creating Rectangular Treemaps. Kong, Heer, and Agrawala. IEEE Graphics 17:4(2011), 393-411.
Academic Press, 2004. and Carl M. Francolini. The American Statistician 34:2 (1980), 81-93.
Trans.Visualization and Computer Graphics (Proc. InfoVis) 16:6 (2010), 990–998. • Treemaps: A Space-Filling Approach to the Visualization of Hierarchical Information. Brian Johnson and Ben Shneiderman. Proc IEEE Conference on Visualization (Vis) 1991, pp.
• Motion to Support Rapid Interactive Queries on Node-Link Diagrams.. Colin Ware and Robert
284-291.
• https://cran.r-project.org/web/packages/viridis/vignettes/intro-to-viridis.html
621
• Perceptual Guidelines for Creating Rectangular Treemaps. Kong, Heer, and Agrawala. IEEE Trans.Visualization and Computer Graphics (Proc. InfoVis) 16:6 (2010), 990-998.
622 623 Bobrow. Transactions on Applied Perception (TAP) 1:1 (2004), 3-18. 624
Further reading: Ch 11 selected Further reading, Ch 11 full Further reading: Ch 12 selected Further reading, Ch 12 full
• Visualization Analysis and Design. Munzner. AK Peters Visualization Series, CRC Press, 2014.
• Visualization Analysis and Design. Munzner. AK Peters Visualization Series, • Starting Simple - Adding Value to Static Visualisation Through Simple Interaction.. A. Dix and
–Chap 12: Facet Into Multiple Views
• A Review of Overview+Detail, Zooming, and Focus+Context Interfaces. Andy Cockburn, Amy Karlson, and Benjamin B. Bederson. Computing Surveys 41:1 (2008), pp. 1-31.
• A Guide to Visual Multi-Level Interface Design from Synthesis of Empirical Study Evidence. Heidi Lam and Tamara Munzner. Synthesis Lectures on Visualization Series, Morgan Claypool, 2010.

CRC Press, 2014. G. Ellis. Proc. Advanced Visual Interfaces (AVI) 1998, 124-134. • A Review of Overview+Detail, Zooming, and Focus+Context Interfaces. Cockburn, Karlson, and Bederson. ACM Computing Surveys
• Zooming versus Multiple Window Interfaces: Cognitive Costs of Visual Comparisons. M. Plumlee and C. Ware. Transactions on Computer-Human Interaction (ToCHI) 13:2 (2006), pp.
179-209.

– Chap 11: Manipulate View • Animated Transitions in Statistical Data Graphics Jeffrey Heer and George G. Robertson. 41:1 (2008), 1–31. • Exploring the Design Space of Composite Visualization. Waqas Javed and Niklas Elmqvist. Proc. IEEE Symposium on Pacific Visualization (PacificVis), pp. 1-9. IEEE Computer Society, 2012.
• Visual Comparison for Information Visualization. Michael Gleicher, Danielle Albers, Rick Walker, Ilir Jusufi, Charles D. Hansen, and Jonathan C. Roberts. Information Visualization 10:4 (2011), pp.
IEEE TVCG (Proc. InfoVis 2007) 13(6): 1240-1247, 2007.[Archived version] • A Guide to Visual Multi-Level Interface Design From Synthesis of Empirical Study Evidence. Lam and Munzner. Synthesis Lectures on 289-309.
• Animated Transitions in Statistical Data Graphics. Heer and Robertson. IEEE Trans. Visualization Series, Morgan Claypool, 2010. • Guidelines for Using Multiple Views in Information Visualizations. Michelle Q. Wang Baldonado, Allison Woodruff, and Allan Kuchinsky. Proc. International Working Conference on Advanced
• Selection: 524,288 Ways To Say 'This Is Interesting'. Graham J. Wills. Proc. InfoVis 1996, p • Zooming versus multiple window interfaces: Cognitive costs of visual comparisons. Plumlee and Ware. ACM Trans. on Computer-
Visual Interfaces (AVI), pp. 110-119. ACM, 2000.

on Visualization and Computer Graphics (Proc. InfoVis07) 13:6 (2007), 1240– 54-61. Human Interaction (ToCHI) 13:2 (2006), 179–209.
• State of the Art: Coordinated & Multiple Views in Exploratory Visualization. Jonathan C. Roberts. Proc. Conference on Coordinated & Multiple Views in Exploratory Visualization (CMV), pp.
61-71. IEEE Computer Society, 2007.

1247. • Exploring the Design Space of Composite Visualization. Javed and Elmqvist. Proc. Pacific Visualization Symp. (PacificVis), pp. 1–9, 2012. • Building Highly-Coordinated Visualizations in Improvise. Chris Weaver. Proc. IEEE Symposium on Information Visualization (InfoVis), pp. 159-166. IEEE Computer Society, 2004.
• Pad++: A Zooming Graphical Interface for Exploring Alternate Interface Physics Ben • Visual Comparison for Information Visualization. Gleicher, Albers, Walker, Jusufi, Hansen, and Roberts. Information Visualization 10:4
• Cross-Filtered Views for Multidimensional Visual Analysis. Chris Weaver. IEEE TVCG (2010), pp. 192-204.

• Selection: 524,288 Ways to Say “This is Interesting”. Wills. Proc. IEEE Symp.
• Configuring Hierarchical Layouts to Address Research Questions. Adrian Slingsby, Jason Dykes, and Jo Wood. IEEE TVCG (Proc. InfoVis 2009), pp. 977-984.
Bederson, and James D Hollan, Proc UIST 94. (2011), 289–309. • Spatially Ordered Treemaps. Jo Wood and Jason Dykes. IEEE TVCG (Proc. InfoVis 2008), pp. 1348-1355.

Information Visualization (InfoVis), pp. 54–61, 1996. • LiveRAC - Interactive Visual Exploration of System Management Time-Series Data. Peter • Guidelines for Using Multiple Views in Information Visualizations. Baldonado, Woodruff, and Kuchinsky. In Proc. ACM Advanced Visual • Glyph-Based Visualization: Foundations, Design Guidelines, Techniques and Applications. Rita Borgo, Johannes Kehrer, David H.S. Chung, Eamonn Maguire, Robert S. Laramee, Helwig Hauser,
Matthew Ward, and Min Chen. Eurographics State of the Art Reports, pp. 39-63. Eurographics, 2013.
Interfaces (AVI), pp. 110–119, 2000. • Multivariate Data Glyphs: Principles and Practice. Matthew O. Ward. In Handbook of Data Visualization, Computational Statistics, edited by Antony Unwin, Chun-houh Chen, and Wolfgang K.
• Smooth and efficient zooming and panning. van Wijk and Nuij. Proc. IEEE Symp. McLachlan, Tamara Munzner, Eleftherios Koutsofios, Stephen North. Proc. Conf. on Human • Cross-Filtered Views for Multidimensional Visual Analysis. Weaver. IEEE Trans.Visualization and Computer Graphics 16:2 (Proc. InfoVis Härdle, pp. 179-198.

Factors in Computing Systems (CHI) 2008, 1483-1492. 2010), 192–204, 2010.


• Information Visualization: Perception for Design Colin Ware. Third edition. Morgan Kaufmann, 2013.
Information Visualization (InfoVis), pp. 15–22, 2003. • Linked Data Views. Wills. In Handbook of Data Visualization, Computational Statistics, edited by Unwin, Chen, and Härdle, pp. 216–
• A Taxonomy of Glyph Placement Strategies for Multidimensional Data Visualization. Matthew O. Ward. Information Visualization 1:3-4 (2002), pp. 194-210.

• Rapid Controlled Movement Through a Virtual 3D Workspace Jock Mackinlay, Stuart Card, • Taxonomy-Based Glyph Design - With a Case Study on Visualizing Workflows of Biological Experiments. Eamonn Maguire, Philippe Rocca-Serra, Susanna-Assunta Sansone, Jim Davies, and Min
Chen. IEEE TVCG (Proc. InfoVis 2012), pp. 2603-2612.
• Starting Simple - adding value to static visualisation through simple interaction. Dix and George Robertson. Proc SIGGRAPH '90, pp 171-176.
241. Springer-Verlag, 2008.
• Color Enhanced Star Plot Glyphs - Can Salient Shape Characteristics Be Overcome? Alexander Klippel, Frank Hardisty, Rui Li, and Chris Weaver. Cartographica 44:3 (2009), 217-231.
• Glyph-based Visualization: Foundations, Design Guidelines,Techniques and Applications. Borgo, Kehrer, Chung, Maguire, Laramee, Hauser,
and Ellis. Proc. Advanced Visual Interfaces (AVI), pp. 124–134, 1998. • Smooth and Efficient Zooming and Panning. Jack J. van Wijk and Wim A.A. Nuij, Proc. Ward, and Chen. In Eurographics State of the Art Reports, pp. 39–63, 2013.
• Brushing Scatterplots Richard A. Becker and William S. Cleveland. Technometrics 29 (1987), 127-142.
• Linked Data Views Graham J. Wills. Technometrics 29 (1987), 127-142.
• Get It Right in Black and White. Maureen Stone. Functional Color, 2010.
625 InfoVis 2003, p. 15-22. 626 627 • Dot Plots: A Useful Alternative to Bar Charts. Naomi B. Robbins. 2006. 628

Further reading: Ch 13 selected Further reading, Ch 13 full Further reading: Ch 14 selected Further reading, Ch 14 full
• Visualization Analysis and Design. Munzner. AK Peters Visualization Series, •

Visual Information Seeking: Tight Coupling of Dynamic Query Filters with Starfield Displays. Chris Ahlberg and Ben Shneiderman. Proc. CHI, pp. 313-317. ACM, 1994.
Scented Widgets: Improving Navigation Cues with Embedded Visualizations. Wesley Willett, Jeffrey Heer, and Maneesh Agrawala. IEEE TVCG (Proc. InfoVis 2007), pp. 1129-1136. • Visualization Analysis and Design. Munzner. AK Peters / CRC Press, Oct 2014. • A Review of Overview+Detail, Zooming, and Focus+Context Interfaces. Andy Cockburn, Amy Karlson, and Benjamin B. Bederson. Computing Surveys 41:1
(2008), pp. 1-31.

CRC Press, 2014. •



Information Foraging Theory: Adaptive Interaction with Information. Peter Pirolli. Oxford University Press, 2007.
Exploratory Data Analysis. John W. Tukey. Addison-Wesley, 1977. –Chap 14: Embed: Focus+Context • A Guide to Visual Multi-Level Interface Design from Synthesis of Empirical Study Evidence. Heidi Lam and Tamara Munzner. Synthesis Lectures on Visualization
Series, Morgan Claypool, 2010.
• 40 Years of Boxplots Hadley Wickham and Lisa Stryjewski. Technical report, had.co.nz, 2012. • Data Base Navigation: An Office Environment for the Professional. Robert Spence and Mark Apperley. Behaviour and Information Technology 1:1 (1982), pp.
– Chap 13: Reduce Items and Attributes • Hierarchical Aggregation for Information Visualization: Overview, Techniques and Design Guidelines. Niklas Elmqvist and Jean-Daniel Fekete. IEEE TVCG (2010), pp. 439-454. • A Review of Overview+Detail, Zooming, and Focus+Context Interfaces. Cockburn, 43-54.

Karlson, and Bederson. ACM Computing Surveys 41:1 (2008), 1–31.


• Hierarchical Parallel Coordinates for Exploration of Large Datasets.Ying-Huey Fua, Matthew O. Ward, and Elke A. Rundensteiner. Proc. IEEE Conference on Visualization (Vis), pp. 43-50. • A Polyfocal Projection for Statistical Surfaces. Naftali Kadmon and Eli Shlomi. The Cartographic Journal 15:1 (1978), pp. 36-41.
• Hierarchical Aggregation for Information Visualization: Overview,Techniques and IEEE Computer Society, 1999.
• A Review and Taxonomy of Distortion-Oriented Presentation Techniques. Ying K. Leung and Mark Apperley. Transactions on Computer-Human Interaction
• The Modifiable Areal Unit Problem (MAUP) David Wong. In The SAGE Handbook of Spatial Analysis, edited by A. Stewart Fotheringham and Peter A. Rogerson, pp. 105-123. Sage, 2009.
Design Guidelines. Elmqvist and Fekete. IEEE Transactions on Visualization and • The Modifiable Areal Unit Problem. Stan Openshaw. Number 38 in Concepts and Techniques in Modern Geography, Geo Books, 1984. • A Guide to Visual Multi-Level Interface Design From Synthesis of Empirical Study
(ToCHI) 1:2 (1994), pp. 126-160.
• The FISHEYE View: A New Look at Structured Files. George W. Furnas. Technical report, Bell Laboratories Technical Memorandum No. 82-11221-22, 1982.
• Geographically Weighted Visualization: Interactive Graphics for Scale-Varying Exploratory Analysis. Jason Dykes and Chris Brunsdon. IEEE TVCG (Proc. InfoVis 2007), pp. 1161-1168.
Computer Graphics 16:3 (2010), 439–454. • Interactive Hierarchical Dimension Ordering, Spacing and Filtering for Exploration of High Dimensional Datasets. Jing Yang, Wei Peng, Matthew O. Ward, and Elke A. Rundensteiner. Proc. Evidence. Lam and Munzner. Synthesis Lectures on Visualization Series, Morgan • Generalized Fisheye Views. George W. Furnas. Proc. CHI 1986, pp. 16-23.
• A Fisheye Follow-up: Further Reflection on Focus + Context. George W. Furnas. Proc. CHI 2006, pp. 999-1008.
InfoVis, pp. 105-112. IEEE Computer Society, 2003.

• A Review of Overview+Detail, Zooming, and Focus+Context Interfaces. Cockburn, • Clutter Reduction in Multi-Dimensional Data Visualization Using Dimension Reordering. Wei Peng, Matthew O. Ward, and Elke A. Rundensteiner. Proc. InfoVis, pp. 89-96. IEEE Computer
Society, 2004.
Claypool, 2010. • The Perspective Wall: Detail and Context Smoothly Integrated. Jock D. Mackinlay, George G. Robertson, and Stuart K. Card. Proc. CHI 1991, pp. 173-179.
• Cone Trees: Animated 3D Visualizations of Hierarchical Information. George Robertson, Jock Mackinlay, and Stuart Card. Proc. CHI 1991, pp. 189-194.
Karlson, and Bederson. ACM Computing Surveys 41:1 (2008), 1–31. • Value and Relation Display for Interactive Exploration of High Dimensional Datasets. Jing Yang, Anilkumar Patro, Shiping Huang, Nishant Mehta, Matthew O. Ward, and Elke A.
Rundensteiner. Proc. InfoVis, pp. 73-80. IEEE Computer Society, 2004. • Hierarchical Aggregation for Information Visualization: Overview,Techniques and Design • Three-Dimensional Pliable Surfaces: For Effective Presentation of Visual Information. M. Sheelagh T. Carpendale, David J. Cowperthwaite, and F. David Fracchia.
Proc. of the Symposium on User Interface Software and Technology (UIST), pp. 217-226. ACM, 1995.
• A Guide to Visual Multi-Level Interface Design From Synthesis of Empirical Study
• Visual Hierarchical Dimension Reduction for Exploration of High Dimensional Datasets. Jing Yang, Matthew O. Ward, Elke A. Rundensteiner, and Shiping Huang. Proc. Eurographics/IEEE
Symposium on Visualization (VisSym), pp. 19-28. Eurographics, 2003. Guidelines. Elmqvist and Fekete. IEEE Transactions on Visualization and Computer • Distortion Viewing Techniques for 3D Data. M. Sheelagh T. Carpendale, David J. Cowperthwaite, and F. David Fracchia. Proc. InfoVis, pp. 46-53. IEEE Computer
Society, 1996.
Evidence. Lam and Munzner. Synthesis Lectures on Visualization Series, Morgan
• DimStiller: Workflows for Dimensional Analysis and Reduction. Stephen Ingram, Tamara Munzner,Veronika Irvine, Melanie Tory, Steven Bergner, and Torsten Moeller. Proc.VAST, pp. 3-10.
IEEE Computer Society, 2010. Graphics 16:3 (2010), 439–454. • Nonlinear Magnification Fields. T. Alan Keahey and Edward L. Robertson. Proc. InfoVis, pp. 51-58. IEEE Computer Society, 1997.
• Similarity Clustering of Dimensions for an Enhanced Visualization of Multidimensional Data. Michael Ankerst, Stefan Berchtold, and Daniel A. Keim. Proc. InfoVis, pp. 52-60. IEEE Computer • A Focus+Content Technique Based on Hyperbolic Geometry for Visualizing Large Hierarchies. John Lamping, Ramana Rao, and Peter Pirolli. Proc. CHI, pp.
Claypool, 2010. •
Society, 1998.
Discussion of a Set of Points in Terms of Their Mutual Distances. G.Young and A. S. Householder. Psychometrika 3:1.
• A Fisheye Follow-up: Further Reflection on Focus + Context. Furnas. Proc. ACM Conf. 401-408. ACM, 1995.
• Exploring Large Graphs in 3D Hyperbolic Space. Tamara Munzner. IEEE Computer Graphics and Applications 18:4 (1998), pp. 18-23.


Multidimensional Scaling: I. Theory and Method. W. S. Torgerson. Psychometrika 17 (1952), pp. 401-419.
A Linear Iteration Time Layout Algorithm for Visualising High Dimensional Data. M. Chalmers. Proc. IEEE VIS, pp. 127-132. IEEE Computer Society, 1996.
Human Factors in Computing Systems (CHI), pp. 999–1008, 2006. • TreeJuxtaposer: Scalable Tree Comparison Using Focus+Context with Guaranteed Visibility. Tamara Munzner, Francois Guimbretiere, Serdar Tasiran, Li Zhang, and
Yunhong Zhou. Proc. SIGGRAPH (2003), pp. 453-462.
• Glimmer: Multilevel MDS on the GPU. Stephen Ingram, Tamara Munzner, and Marc Olano. IEEE TVCG (2009), pp. 249-261.
• PRISAD: Partitioned Rendering Infrastructure for Scalable Accordion Drawing (Extended Version). James Slack, Kristian Hildebrand, and Tamara Munzner.
629 • Empirical Guidance on Scatterplot and Dimension Reduction Technique Choices. Michael Sedlmair, Tamara Munzner, and Melanie Tory. IEEE TVCG (Proc. InfoVis 2013), pp. 2634-2643. 630 631 632
Information Visualization 5:2 (2006), pp. 137-151.

Methodology for problem-driven work Lessons learned from the trenches: 21 between us
Michael Sedlmair
• definitions

crisp
ALGORITHM
AUTOMATION
POSSIBLE

NOT ENOUGH DATA


TASK CLARITY
DESIGN STUDY
METHODOLOGY
SUITABLE
Cerebral MizBee Pathline MulteeSum Vismon QuestVis WiKeVis
genomics genomics genomics genomics sustainability in-car networks

fuzzy
head computer
fisheries management
INFORMATION LOCATION

Miriah Meyer
• 9-stage framework

Design Study Methodology Design Study Methodology learn winnow cast discover design implement deploy reflect write

ProgSpy2010 RelEx Cardiogram AutobahnVis VisTra


PRECONDITION
personal validation
CORE
inward-facing validation
ANALYSIS
outward-facing validation MostVis Car-X-Ray
Reflections from the Trenches and from the Stacks • 32 pitfalls & how to avoid them
in-car networks in-car networks in-car networks in-car networks in-car networks in-car networks in-car networks

alization researcher to explain hard-won knowledge about the domain PF-1 premature advance: jumping forward over stages general
PF-2 premature start: insufficient knowledge of vis literature learn
to the readers is understandable, it is usually a better choice to put
PF-3 premature commitment: collaboration with wrong people winnow
writing effort into presenting extremely clear abstractions of the task
PF-4 no real data available (yet) winnow
Tamara Munzner and data. Design study papers should include only the bare minimum
of domain knowledge that is required to understand these abstractions.
PF-5
PF-6
insufficient time available from potential collaborators
no need for visualization: problem can be automated
winnow
winnow

http://www.cs.ubc.ca/labs/imager/tr/2012/dsm/ @tamaramunzner We have seen many examples of this pitfall as reviewers, and we con-
tinue to be reminded of it by reviewers of our own paper submissions.
PF-7
PF-8
researcher expertise does not match domain problem
no need for research: engineering vs. research project
winnow
winnow
We fell headfirst into it ourselves in a very early design study, which PF-9 no need for change: existing tools are good enough winnow
would have been stronger if more space had been devoted to the ra- PF-10 no real/important/recurring task winnow
tionale of geography as a proxy for network topology, and less to the PF-11 no rapport with collaborators winnow
Constellation LibVis Caidants SessionViewer LiveRAC PowerSetViewer LastHistory
• comparison to related methodologies intricacies of overlay network configuration and the travails of map-
ping IP addresses to geographic locations [53].
Another challenge is to construct an interesting and useful story
PF-12
PF-13
PF-14
not identifying front line analyst and gatekeeper before start
assuming every project will have the same role distribution
mistaking fellow tool builders for real end users
cast
cast
cast
linguistics cultural heritage multicast web log analysis server hosting data mining music listening
from the set of events that constitute a design study. First, the re- PF-15 ignoring practices that currently work well discover
Design Study Methodology: Reflections from the Trenches and from the Stacks. searcher must re-articulate what was unfamiliar at the start of the pro- PF-16
PF-17
expecting just talking or fly on wall to work
experts focusing on visualization design vs. domain problem
discover
discover
cess but has since become internalized and implicit. Moreover, the
633
Sedlmair, Meyer, Munzner. IEEE Trans.Visualization and Computer Graphics 18(12): 2431-2440, 2012 (Proc. InfoVis 2012). order of presentation and argumentation in a paper should follow a PF-18 learning their problems/language: too little / too much discover
635 636
634 logical thread that is rarely tied to the actual chronology of events due PF-19 abstraction: too little design
PF-20 premature design commitment: consideration space too small design
to the iterative and cyclical nature of arriving at full understanding of
PF-21 mistaking technique-driven for problem-driven work design
the problem (PF-31). A careful selection of decisions made, and their PF-22 nonrapid prototyping implement
justification, is imperative for narrating a compelling story about a de-

Design study methodology: definitions 9 stage framework 9-stage framework learn 9-stage framework discover
PF-23 usability: too little / too much implement
sign study and are worth discussing as part of the reflections on lessons PF-24 premature end: insufficient deploy time built into schedule deploy
learned. In this spirit, writing a design study paper has much in com- PF-25 usage study not case study: non-real task/data/user deploy
mon with writing for qualitative research in the social sciences. In PF-26 liking necessary but not sufficient for validation deploy
that literature, the process of writing is seen as an important research PF-27 failing to improve guidelines: confirm, refine, reject, propose reflect
component of sense-making from observations gathered in field work,

winnow design
PF-28 insufficient writing time built into schedule write
above and beyond merely being a reporting method [62, 93]. PF-29 no technique contribution 6= good design study write
In technique-driven work, the goal of novelty means that there is a PF-30 too much domain background in paper write
rush to publish as soon as possible. In problem-driven work, attempt- PF-31 story told chronologically vs. focus on final results write
crisp

ing to publish too soon is a common mistake, leading to a submission PF-32 premature end: win race vs. practice music for debut write

ALGORITHM
cast implement
that is shallow and lacks depth (PF-32). We have fallen prey to this pit-
fall ourselves more than once. In one case, a design study was rejected Table 1. Summary of the 32 design study pitfalls that we identified.
upon first submission, and was only published after significantly more
AUTOMATION work was completed [10]; in retrospect, the original submission was
premature. In another case, work that we now consider preliminary
POSSIBLE and interview; shedding preconceived notions is a tactic for reaching
NOT ENOUGH DATA

deploy
was accepted for publication [78]. After publication we made further this goal. Some of these methods have been adapted for use in HCI,
refinements of the tool and validated the design with a field evaluation, however under a very different methodological umbrella. In these
TASK CLARITY

but these improvements and findings did not warrant a full second pa- fields the goal is to distill findings into implications for design, requir-
per. We included this work as a secondary contribution in a later paper ing methods that quickly build an understanding of how a technology

DESIGN STUDY
about lessons learned across many projects [76], but in retrospect we intervention might improve workflows. While some sternly critique
should have waited to submit until later in the project life cycle. this approach [20, 21], we are firmly in the camp of authors such as
It is rare that another group is pursuing exactly the same goal given Rogers [64, 65] who argues that goal-directed fieldwork is appropri-
the enormous number of possible data and task combinations. Typi- ate when it is neither feasible nor desirable to capture everything, and

METHODOLOGY
cally a design requires several iterations before it is as effective as pos- Millen who advocates rapid ethnography [47]. This stand implies that
sible, and the first version of a system most often does not constitute a our observations will be specific to visualization and likely will not be
conclusive contribution. Similarly, reflecting on lessons learned from helpful in other fields; conversely, we assert that an observer without a
the specific situation of study in order to derive new or refined gen-

SUITABLE
visualization background will not get the answers needed for abstract-
eral guidelines typically requires an iterative process of thinking and ing the gathered information into visualization-compatible concepts.
writing. A challenge for researchers who are familiar with technique- The methodology of grounded theory emphasizes building an un-
driven work and who want to expand into embracing design studies is derstanding from the ground up based on careful and detailed anal-
that the mental reflexes of these two modes of working are nearly op- ysis [14]. As with ethnography, we differ by advocating that valid
posite. We offer a metaphor that technique-driven work is like running progress can be made with considerably less analysis time. Although
a footrace, while problem-driven work is like preparing for a violin early proponents [87] cautioned against beginning the analysis pro-
concert: deciding when to perform is part of the challenge and the cess with preconceived notions, our insistence that visualization re-
primary hazard is halting before one’s full potential is reached, as op- searchers must have a solid foundation in visualization knowledge
posed to the challenge of reaching a defined finish line first. aligns better with more recent interpretations [25] that advocate bring-
learn winnow cast discover design implement deploy reflect write learn
learn winnow
winnow cast
cast discover design implement ing a prepared mind reflect
deploy write
to the project, a call echoed by others [63]. learn winnow cast discover design implement deploy reflect write
5 C OMPARING M ETHODOLOGIES Many aspects of the action research (AR) methodology [27] align
Design studies involve a significant amount of qualitative field work; with design study methodology. First is the idea of learning through
fuzzy

we now compare design study methodolgy to influential methodolo- action, where intervention in the existing activities of the collabora-
gies in HCI with similar qualitative intentions. We also use the ter- tive research partner is an explicit aim of the research agenda, and
PRECONDITION CORE ANALYSIS PRECONDITION CORE
minology from these methodologies to buttress a key claim on how to ANALYSIS
prolonged engagement is required. A second resonance is the identifi- PRECONDITION CORE ANALYSIS
judge design studies: transferability is the goal, not reproducibility. cation of transferability rather than reproducability as the desired out-
Ethnography is perhaps the most widely discussed qualitative re- come, as the aim is to create a solution for a specific problem. Indeed,
search methodology in HCI [16, 29, 30]. Traditional ethnography in our emphasis on abstraction can be cast as a way to “share sufficient
head computer the fields of anthropology [6] and sociology [81] aims at building a knowledge about a solution that it may potentially be transferred to

INFORMATION LOCATION rich picture of a culture. The researcher is typically immersed for
many months or even years to build up a detailed understanding of life
and practice within the culture using methods that include observation
other contexts” [27]. The third key idea is that personal involvement
of the researcher is central and desirable, rather than being a dismaying
incursion of subjectivity that is a threat to validity; van Wijk makes the

637 638 639 640


9-stage framework reflect 9-stage framework iterative Design study methodology: 32 pitfalls
• guidelines: confirm, refine, reject, propose write I’m a domain expert!
• and how to avoid them Wanna collaborate?

alization researcher to explain hard-won knowledge about the domain PF-1 premature advance: jumping forward over stages general
Of course!!!
PF-2 premature start: insufficient knowledge of vis literature learn
to the readers is understandable, it is usually a better choice to put
PF-3 premature commitment: collaboration with wrong people winnow
writing effort into presenting extremely clear abstractions of the task
PF-4 no real data available (yet) winnow
and data. Design study papers should include only the bare minimum PF-5 insufficient time available from potential collaborators winnow
learn winnow cast discover design implement deploy reflect write
of domain
learn
knowledge
winnow cast
that isdesign
discover
required to understand
implement deploy reflect
these
write
abstractions. PF-6 no need for visualization: problem can be automated winnow
We have seen many examples of this pitfall as reviewers, and we con- PF-7 researcher expertise does not match domain problem winnow
PRECONDITION CORE ANALYSIS tinuePRECONDITION
to be reminded of it by reviewers CORE of our own paper submissions.
ANALYSIS
PF-8 no need for research: engineering vs. research project winnow
We fell headfirst into it ourselves in a very early design study, which PF-9 no need for change: existing tools are good enough winnow
would have been stronger if more space had been devoted to the ra- PF-10 no real/important/recurring task winnow
641
tionale of geography as a proxy for network topology, and less to the 642
PF-11 no rapport with collaborators winnow
643 644

intricacies of overlay network configuration and the travails of map- PF-12 not identifying front line analyst and gatekeeper before start cast
considerations roles Collaborator winnowing
Interesting ping IP addresses to geographic locations [53].
Another challenge is to construct an ...interesting or maybe and a useful story
M
PF-13
PF-14
ETAPHOR
assuming every project will have the same role distribution
mistaking fellow tool builders for real end users
cast
cast
problem?
...
fellow
from the set of events that constitute a design study. First, the re- tool PF-15 Winnowing
ignoring practices that currently work well discover
Have data? searcher must re-articulate Are what
you awas unfamiliar builder? at the start of the pro- PF-16 expecting just talking or fly on wall to work discover initial
conversation
Have time? cess but has since become user???
internalized and implicit. Moreover, the PF-17 experts focusing on visualization design vs. domain problem discover
(potential collaborators)
PF-18 learning their problems/language: too little / too much discover
Have need? order of presentation and argumentation in a paper should follow a
PF-19 abstraction: too little design
... logical thread that is rarely tied to the actual chronology of events due
PF-20 premature design commitment: consideration space too small design
to the iterative and cyclical nature of arriving at full understanding of
PF-21 mistaking technique-driven for problem-driven work design
the problem (PF-31). A careful selection of decisions made, and their PF-22 nonrapid prototyping implement
justification, is imperative for narrating a compelling story about a de- PF-23 usability: too little / too much implement
sign study and are worth discussing as part of the reflections on lessons PF-24 premature end: insufficient deploy time built into schedule deploy
learned. In this spirit, writing a design study paper has much in com- PF-25 usage study not case study: non-real task/data/user deploy
mon with writing for qualitative research in the social sciences. In PF-26 liking necessary but not sufficient for validation deploy
that literature, the process of writing is seen as an important research PF-27 failing to improve guidelines: confirm, refine, reject, propose reflect 648
component of sense-making from observations gathered in field work,
645 646 647
PF-28 insufficient writing time built into schedule write
Collaborator winnowing above and
Collaborator beyond merely being a reporting method [62, 93].
winnowing Collaborator
PF-29 winnowing
no technique contribution 6= good design study write Collaborator winnowing
In technique-driven work, the goal of novelty means that there is a PF-30 too much domain background in paper write
rush to publish as soon as possible. In problem-driven work, attempt- PF-31 story told chronologically vs. focus on final results write
ing to publish too soon is a common mistake, leading to a submission PF-32 premature end: win race vs. practice music for debut write
initial initial initial initial
conversation that is shallow and lacks depth (PF-32). We have fallen prey to this pit-
conversation conversation conversation
fall ourselves more than once. In one case, a design study was rejected Table 1. Summary of the 32 design study pitfalls that we identified.

Talk with many,


further further further further
meetings upon first meetingssubmission, and was only published after significantly more meetings meetings
work was completed [10]; in retrospect, the original submission was
premature.
prototypingIn another case, work that we now consider preliminary and interview;
prototypingshedding preconceived notions is a tactic for reaching
was accepted for publication [78]. After publication we made further this goal. Some of these methods have been adapted for use in HCI,
refinements of the tool and validated the design with a field evaluation, however under full
stay with few!
prototyping

full
a very different methodological umbrella. In these
but these improvements and findings did not warrant a full second pa- fields the collaboration goal is to distill findings intocollaborator
implications for design, requir-
collaboration

per. We included this work as a secondary contribution in a later paper ing methods that quickly build an understanding of how a technology
about lessons learned across many projects [76], but in retrospect we intervention might improve workflows. While some sternly critique
649
should have waited to submit until later in the project life cycle. 650 this approach [20, 21], we are firmly in the camp of authors such as 651 652

It is rare that another group is pursuing exactly the same goal given Rogers [64, 65] who argues that goal-directed fieldwork is appropri-
the enormous number of possible data and task combinations. Typi- Design study
it ismethodology:
neither feasible32 norpitfalls
EXAMPLE FROM THE TRENCHES E
callyXAMPLE F
a design requiresROM T THE RENCHES
several iterations
ate when desirable to capture everything, and
before it is as effective as pos- Millen who advocates rapid ethnography [47]. This stand implies that PITFALL
Premature Collaboration! Premature
sible, and the first version Collaboration!
of a system most often does not constitute a our observations will be specific to visualization and likely will not be Of course they need the cool
conclusive contribution. Similarly, reflecting on lessons learned from helpful in other fields; conversely, we assert that an observer without a technique I built last year!
the specific situation of study in order to derive new or refined gen- visualization background will not get the answers needed for abstract- PREMATURE DESIGN
PowerSet Viewer WikeVis eralPowerSet
guidelines Viewer
typically requires WikeVis
an iterative process of thinking and ing the gathered information into visualization-compatible concepts. COMMITMENT
2 years / 4 researchers 0.5 years / 2 researchers 2 yearsA/challenge
writing. 4 researchers 0.5 years
for researchers who / 2are researchers
familiar with technique- The methodology of grounded theory emphasizes building an un-
driven work and who want to expand into embracing design studies is derstanding from the ground up based on careful and detailed anal-
that the mental reflexes of these two modes of working are nearly op- ysis [14]. As with ethnography, we differ by advocating that valid
posite. We - Fellow
offer a metaphor tool builders work is like running progress can be made with considerably less analysis time. Although
that technique-driven
a footrace, while
- Data promised problem-driven work is like preparing for a violin early proponents [87] cautioned against beginning the analysis pro-
concert: deciding when to perform is part of the challenge and the cess with preconceived notions, our insistence that visualization re-
primary hazard is halting before one’s full potential is reached, as op- searchers must have a solid foundation in visualization knowledge
posed to the challenge of reaching a defined finish line first. aligns better with more recent interpretations [25] that advocate bring-
653 654
ing a prepared mind to the project, a call echoed by others [63]. 655 656
METAPHOR METAPHOR METAPHOR METAPHOR
Design Space Design Space Design Space Design Space
o -
o
+ - + good o -
o
+ - + good o -
o
+ - know o -
o
+ - know
o o o o
- o o - o okay - o o - o okay - o o - - o o -
- - - -
- poor - poor consider
o - - o - o - - o - o - - o - o - - o -
+ + + +
o - o -
o - your
o technique...
-
o - o -
o - o -
- o - o - o - o
+ + + +
- - - - - - - - - - - -
o o o o
+ + + +
657 658 659 660

Design study methodology: 32 pitfalls


METAPHOR METAPHOR METAPHOR
Design Space Design Space Design Space
o -
o
+ - know o -
o
+ - know o -
o
+ - + good
o o o
- o o - - o o - - o o - o okay
- - -
o - - o -
+
consider o - - o -
+
consider o - Think consider
- o -
+
- poor

o
-
-
o
-
o
+
-
- propose o
-
-
o
-
o
+
-
- propose o
-
-
o broad! propose
-
o
+
-
-

o - o - o -
+ + select + select
664
661 662 663

Reflections from the stacks: Wholesale adoption inappropriate


METAPHOR EXAMPLE FROM THE TRENCHES
PITFALL Horse Race vs. Music Debut Don’t step on your own toes!
• ethnography
I can write a design study – rapid, goal-directed fieldwork
paper in a week! • grounded theory
PREMATURE
Must be first! Am I ready? First design round Subsequent work not – not empty slate: vis background is key
PUBLISHING
published stand-alone paper • action research
– aligned
• intervention as goal
• transferability not reproducibility
“writing is research” • personal involvement is key
www.freegreatpicture.com/city-impression/trinity-college-dublin-the-old-library-14885

[Wolcott: Writing up qualitative research, 2009] – opposition


http://www.prlog.org/10480334-wolverhampton-horse-racing-live-
• translation of participant concepts into visualization language
http://www.alaineknipes.com/interests/violin_concert.jpg streaming-wolverhampton-handicap-8-jan-2010.html AutobahnVis 1.0 AutobahnVis 2.0
• researcher lead not facilitate design
technique-driven problem-driven [Sedlmair et al., Smart Graphics, 2009] [Sedlmair et al., Information Visualization 10(3), 2011]

665 666 667


• orthogonal to vis concerns: participants as writers, adversarial to status quo, postmodernity 668

What-Why-How Analysis Algebraic Process for Visualization Design Algebraic process:Vocabulary


• this approach is not the only way to analyze visualizations! • which mathematical structures in data are preserved and reflected in vis • invariance violation: single dataset, many visualizations
– one specific framework intended to help you think –negation, permutation, symmetry, invariance – hallucinator
– other frameworks support different ways of thinking • unambiguity violation: many datasets, same vis
• following: one interesting example – data change invisible to viewer
• confuser

Next Steps • correspondence violation:


– can’t see change of data in vis
• jumbler
– salient change in vis not due to significant change in data
• misleader
– match mathematical structure in data with visual perception
[Fig 1. An Algebraic Process for Visualization Design. Carlos Scheidegger and Gordon • we can X the data; can we Y the image?
669 670 Kindlmann. IEEE TVCG (Proc. InfoVis 2014), 20(12):2181-2190.] 671 – are important data changes well-matched with obvious visual changes? 672
Visual Design Process In Depth: Dear Data Visual Design Process In Depth: Data Sketches Redesign En Masse: Makeover Mondays

In-Class Exercise

http://www.dear-data.com/by-week/ http://www.datasketch.es/ http://www.makeovermonday.co.uk/blog/


673 674 675 676

Scenario Consider Cardinality Scenario


• data: room occupancy rates • what’s the cardinality of the data? • Marshall: 68 cities * 40 years * 4 crime types = 10,880 • data: room occupancy rates
– 1 room • is a single static chart good enough? • Wine: 130K * 4 = 650,000 – 20 rooms
– occupancy measured every 5 min, duration 1 day • should you derive any useful additional data? – spatial (hierarchical), quantitative, categorical, free-form text – measured every 5 min, duration 1 day
• task: characterize space usage pattern • task: compare space usage patterns between rooms

• design • design
• propose idioms (visual encoding, interaction) • propose idioms (visual encoding, interaction)
• justify idiom choice • justify idiom choice

677 678 679 680

Consider Scenario Consider Scenario


• what’s the cardinality of the data? • data: room occupancy rates in building • what’s the cardinality of the data? • data: room occupancy rates in building
• is a single static chart good enough? – 1 building: 200 rooms across 4 floors • is a single static chart good enough? – 1 building: 200 rooms across 4 floors
• should you derive any useful additional data? – measured every 5 min, duration 1 day • should you derive any useful additional data? – measured every 5 min, duration 1 year
– time series + floor plans – time series + floor plans + room sizes
• what are trade-offs between
• task: characterize space usage patterns – filtering to see one chart at a time
• task: characterize space usage patterns
• what are trade-offs between
– trends, outliers – showing side by side with small multiples – trends, outliers
– filtering to see one chart at a time
– showing all side by side with small multiples – superimposing on top of each other
– superimposing all on top of each other • design • design
– propose & justify idioms • multi-scale structure to exploit? aggregate, zoom, slice/ – propose & justify idioms
dice, filter?

681 682 683 684

Consider Scenario Consider Scenario


• what’s the cardinality of the data? • data: currency exchange rates • what’s the cardinality of the data? • data: CPU usage across many machines
• is a single static chart good enough? – 30 countries (each against CAD) • is a single static chart good enough? – 100 machines, belonging to 20 companies
• should you derive any useful additional data? – measured every 5 min, duration 5 years • should you derive any useful additional data? – measured every 5 min, duration 1 month
– time series + country names + continent names (+ map shapefiles) + country – time series + company name + company location (country)
• what are trade-offs between populations • what are trade-offs between
– filtering to see one chart at a time – filtering to see one chart at a time
• task: capacity planning for machine room
• task: find groups of similarly-performing currencies
– showing side by side with small multiples – showing side by side with small multiples
– superimposing on top of each other – superimposing on top of each other
• multi-scale structure to exploit? aggregate, zoom, slice/dice, filter? • multi-scale structure to exploit? aggregate, zoom, slice/dice, filter? • design
• can you normalize the data? should you - always vs on • design • can you normalize the data? should you - always vs on demand? – propose & justify idioms
demand? – propose & justify idioms
• how to handle multi-scale space and multi-scale time?
• how to handle multi-scale space and multi-scale time? • is spatial information germane or extraneous?
685 686 687 688
Scenario
• data: many metrics across many machines
– 100 machines, belonging to 20 companies
– 4 metrics measured every 5 min, duration 1 month
–CPU, memory, disk I/O, network traffic
– time series + company name + company sector (finance/tech/entertainment/other)
• task: forensic analysis to determine possible causes of crashes

• design
– propose & justify idioms

689

You might also like