Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
Data Visualization (DSC 530CIS 602-01)
Tasks amp Design
Dr David Koop
D Koop DSC 530 Spring 2016
Recap (Data)bull Basic Data Types
- Items Attributes Links Positions Grids bull Dataset Types
- Tabular Networks Fields Geometry Sets bull Attribute Types
- Categorical and Ordered (Ordinal and Quantitative) - Ordered Sequential Diverging and Cyclic
bull Tables Keys and Values bull Fields Scalar Vector and Tensor bull Time-Varying Data
2D Koop DSC 530 Spring 2016
22
Fieldattribute
item
Items amp Attributes
3D Koop DSC 530 Spring 2016
Items (Nodes) amp Links
4D Koop DSC 530 Spring 2016
[Bostock 2011]
Item
Links
Positions and Grids
5D Koop DSC 530 Spring 2016
Position Grid
Dataset Types
6D Koop DSC 530 Spring 2016
Tables
Attributes (columns)
Items (rows)
Cell containing value
Networks
Link
Node (item)
Trees
Fields (Continuous)
Attributes (columns)
Value in cell
Cell
Multidimensional Table
Value in cell
Grid of positions
Geometry (Spatial)
Position
Dataset Types
[Munzner (ill Maguire) 2014]
Fieldattribute
itemcell
Tables
7D Koop DSC 530 Spring 2016
0
0
0
0
0
0
00
5
5
5
5
5
5
55
10
10
10
10
10
10
1010
15
15
15
15
15
15
1515
20
20
20
20
20
20
2020
25
25
25
25
25
25
2525
30
30
30
30
30
30
3030
35
35
35
35
35
35
3535
40
40
40
40
40
40
4040
45
45
45
45
45
45
4545
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)economy (mpg)
30
30
30
30
30
30
3030
35
35
35
35
35
35
3535
40
40
40
40
40
40
4040
45
45
45
45
45
45
4545
50
50
50
50
50
50
5050
55
55
55
55
55
55
5555
60
60
60
60
60
60
6060
65
65
65
65
65
65
6565
70
70
70
70
70
70
7070
75
75
75
75
75
75
7575
80
80
80
80
80
80
8080cylinders
cylinders
cylinders
cylinders
cylinders
cylinders
cylinderscylinders
100
100
100
100
100
100
100100
150
150
150
150
150
150
150150
200
200
200
200
200
200
200200
250
250
250
250
250
250
250250
300
300
300
300
300
300
300300
350
350
350
350
350
350
350350
400
400
400
400
400
400
400400
450
450
450
450
450
450
450450
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)displacement (cc)
0
0
0
0
0
0
00
20
20
20
20
20
20
2020
40
40
40
40
40
40
4040
60
60
60
60
60
60
6060
80
80
80
80
80
80
8080
100
100
100
100
100
100
100100
120
120
120
120
120
120
120120
140
140
140
140
140
140
140140
160
160
160
160
160
160
160160
180
180
180
180
180
180
180180
200
200
200
200
200
200
200200
220
220
220
220
220
220
220220
power (hp)
power (hp)
power (hp)
power (hp)
power (hp)
power (hp)
power (hp)power (hp)
2000
2000
2000
2000
2000
2000
20002000
2500
2500
2500
2500
2500
2500
25002500
3000
3000
3000
3000
3000
3000
30003000
3500
3500
3500
3500
3500
3500
35003500
4000
4000
4000
4000
4000
4000
40004000
4500
4500
4500
4500
4500
4500
45004500
5000
5000
5000
5000
5000
5000
50005000
weight (lb)
weight (lb)
weight (lb)
weight (lb)
weight (lb)
weight (lb)
weight (lb)weight (lb)
8
8
8
8
8
8
88
10
10
10
10
10
10
1010
12
12
12
12
12
12
1212
14
14
14
14
14
14
1414
16
16
16
16
16
16
1616
18
18
18
18
18
18
1818
20
20
20
20
20
20
2020
22
22
22
22
22
22
2222
24
24
24
24
24
24
2424
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)0-60 mph (s)
70
70
70
70
70
70
7070
71
71
71
71
71
71
7171
72
72
72
72
72
72
7272
73
73
73
73
73
73
7373
74
74
74
74
74
74
7474
75
75
75
75
75
75
7575
76
76
76
76
76
76
7676
77
77
77
77
77
77
7777
78
78
78
78
78
78
7878
79
79
79
79
79
79
7979
80
80
80
80
80
80
8080
81
81
81
81
81
81
8181
82
82
82
82
82
82
8282year
year
year
year
year
year
yearyear
Table Visualizations
8D Koop DSC 530 Spring 2016
[M Bostock 2011]
Networksbull Why networks instead of graphs bull Tables can represent networks
- Many-many relationships - Also can be stored as specific
graph databases or files
9D Koop DSC 530 Spring 2016
Danny Holten amp Jarke J van Wijk Force-Directed Edge Bundling for Graph Visualization
Figure 7 US airlines graph (235 nodes 2101 edges) (a) not bundled and bundled using (b) FDEB with inverse-linear model(c) GBEB and (d) FDEB with inverse-quadratic model
Figure 8 US migration graph (1715 nodes 9780 edges) (a) not bundled and bundled using (b) FDEB with inverse-linearmodel (c) GBEB and (d) FDEB with inverse-quadratic model The same migration flow is highlighted in each graph
Figure 9 A low amount of straightening provides an indication of the number of edges comprising a bundle by widening thebundle (a) s = 0 (b) s = 10 and (c) s = 40 If s is 0 color more clearly indicates the number of edges comprising a bundle
we generated use the rendering technique described in Sec-tion 41 To facilitate the comparison of migration flow inFigure 8 we use a similar rendering technique as the onethat Cui et al [CZQ08] used to generate Figure 8c
The airlines graph is comprised of 235 nodes and 2101edges It took 19 seconds to calculate the bundled airlinesgraphs (Figures 7b and 7d) using the calculation scheme pre-
sented in Section 33 The migration graph is comprised of1715 nodes and 9780 edges It took 80 seconds to calculatethe bundled migration graphs (Figures 8b and 8d) using thesame calculation scheme All measurements were performedon an Intel Core 2 Duo 266GHz PC running Windows XPwith 2GB of RAM and a GeForce 8800GT graphics cardOur prototype was implemented in Borland Delphi 7
c 2009 The Author(s)Journal compilation c 2009 The Eurographics Association and Blackwell Publishing Ltd
Networks
10D Koop DSC 530 Spring 2016
[Holten amp van Wijk 2009]
Fieldsbull Difference between continuous and discrete values bull Examples temperature pressure density bull Grids necessary to sample continuous data
bull Interpolation ldquohow to show values between the sampled points in ways that do not misleadrdquo
11D Koop DSC 530 Spring 2016
Grids (Meshes)bull Meshes combine positional information (geometry) with
topological information (connectivity)
bull Mesh type can differ substantial depending in the way mesh cells are formed
From Weiskopf Machiraju Moumlllercopy WeiskopfMachirajuMoumlller
Data Structures
bull Grid typesndash Grids differ substantially in the cells (basic
building blocks) they are constructed from and in the way the topological information is given
scattered uniform rectilinear structured unstructured[Weiskopf Machiraju Moumlller]
Spatial Data Example MRI
12D Koop DSC 530 Spring 2016
[slide via Levine 2014]
Sets amp Lists
13D Koop DSC 530 Spring 2016
[Daniels httpexperimentsundercurrentcom]
Attribute Types
14D Koop DSC 530 Spring 2016
Attribute Types
Ordering Direction
Categorical Ordered
Ordinal Quantitative
Sequential Diverging Cyclic
[Munzner (ill Maguire) 2014]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]bull Categorical [not burned burned not burned]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Sequential and Diverging Databull Sequential homogenous range
from a minimum to a maximum - Examples Land elevations ocean
depths bull Diverging can be deconstructed
into two sequences pointing in opposite directions - Has a zero point (not necessary 0) - Example Map of both land
elevation and ocean depth
16D Koop DSC 530 Spring 2016
[Rogowitz amp Treinish 1998]
lar structure of spirals allows for an easy detection of cyclesand for the comparison of periodic data sets Furthermorethe continuity of the data is expressed by using a spiral in-stead of a circle
31 Mathematical description and types of spirals
A spiral is easy to describe and understand in polar coor-dinates ie in the form The distinctive feature ofa spiral is that f is a monotone function In this work we as-sume a spiral is described by
Several simple functions f lead to well-known types ofspirals bull Archimedeslsquo spiral has the form It has the spe-
cial property that a ray emanating from the origincrosses two consecutive arcs of the spiral in a constantdistance
bull The Hyperbolic spiral has the form It is theinverse of Archimedeslsquo spiral with respect to the origin
bull More generally spirals of the form are calledArchimedean spirals
bull The logarithmic spiral has the form It has thespecial property that all arcs cut a ray emanating fromthe origin under the same angleFor the visualization of time-dependent data Archimedeslsquo
spiral seems to be the most appropriate In most applicationsdata from different periods are equally important Thisshould be reflected visually in that the distance to other peri-ods is always the same
32 Mapping data to the spiral
In general markers bars and line elements can be usedto visualize time-series data similar to standard point barand line graphs on Spiral Graphs For instance quantitativediscrete data can be presented as bars on the spiral or bymarks with a corresponding distance to the spiral Howeversince the x and y coordinate are needed to achieve the generalform of the spiral their use is limited for the display of datavalues One might consider to map data values to small ab-solute changes in the radius ie
Yet we have found this way of visualizing to be ineffec-tive We conclude that the general shape of the spiral shouldbe untouched and other attributes should be used such asbull colourbull texture including line styles and patterns
Figure 1Two visualizations of sunshine intensity using about the same screen real estate and thesame color coding scheme In the spiral visualization it is much easier to compare days to spotcloudy time periods or to see events like sunrise and sunset
r f ϕ( )=
r f ϕ( ) dfdϕ------ 0 ϕ R+isingt=
r aϕ=
2πar a ϕfrasl=
r aϕk=
r aekϕ=
r aϕ bv ϕ( ) b πamax v ϕ( )( )---------------------------lt+=
Cyclic Data
17D Koop DSC 530 Spring 2016
[Sunlight intensity Weber et al 2001]
Semanticsbull The type of data does not tell us what the data means or how it
should be interpreted bull Tables have keysvalues fields have independentdependent vars
18D Koop DSC 530 Spring 2016
Attribute SemanticsKeys vs Values (Tables) or Independent vs Dependent (Fields)
Flat
Multidimensional
Tabl
es
Fiel
ds
[Munzner (ill Maguire) 2014]
Assignment 1bull httpwwwcisumassdedu
~dkoopdsc530assignment1html bull HTML CSS SVG and JavaScript bull Part 3 will likely take significantly
more time than the other parts bull Turn in a1html (and a1css a1js)
via myCourses bull Due Friday February 12 1159pm bull Late Policy
19D Koop DSC 530 Spring 2016
Part 3 New Bedford Average Temperature by Month (2015)
Assignment 1 Notesbull Grading will be done via Chrome v48 bull For Part 3a you do not need to use all of the functions I list just
avoid loops bull Other Questions
20D Koop DSC 530 Spring 2016
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
21D Koop DSC 530 Spring 2016
Tasksbull Why Understand data but what do I want to do with it bull Levels High (ProduceConsume) Mid (Search) Low (Queries) bull Another key concern Who
- Designer lt-gt User (A spectrum) - Complex lt-gt Easy to Use - General lt-gt Context-Specific - Flexible lt-gt Constrained - Varied Data lt-gt Specific Data
22D Koop DSC 530 Spring 2016
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Recap (Data)bull Basic Data Types
- Items Attributes Links Positions Grids bull Dataset Types
- Tabular Networks Fields Geometry Sets bull Attribute Types
- Categorical and Ordered (Ordinal and Quantitative) - Ordered Sequential Diverging and Cyclic
bull Tables Keys and Values bull Fields Scalar Vector and Tensor bull Time-Varying Data
2D Koop DSC 530 Spring 2016
22
Fieldattribute
item
Items amp Attributes
3D Koop DSC 530 Spring 2016
Items (Nodes) amp Links
4D Koop DSC 530 Spring 2016
[Bostock 2011]
Item
Links
Positions and Grids
5D Koop DSC 530 Spring 2016
Position Grid
Dataset Types
6D Koop DSC 530 Spring 2016
Tables
Attributes (columns)
Items (rows)
Cell containing value
Networks
Link
Node (item)
Trees
Fields (Continuous)
Attributes (columns)
Value in cell
Cell
Multidimensional Table
Value in cell
Grid of positions
Geometry (Spatial)
Position
Dataset Types
[Munzner (ill Maguire) 2014]
Fieldattribute
itemcell
Tables
7D Koop DSC 530 Spring 2016
0
0
0
0
0
0
00
5
5
5
5
5
5
55
10
10
10
10
10
10
1010
15
15
15
15
15
15
1515
20
20
20
20
20
20
2020
25
25
25
25
25
25
2525
30
30
30
30
30
30
3030
35
35
35
35
35
35
3535
40
40
40
40
40
40
4040
45
45
45
45
45
45
4545
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)economy (mpg)
30
30
30
30
30
30
3030
35
35
35
35
35
35
3535
40
40
40
40
40
40
4040
45
45
45
45
45
45
4545
50
50
50
50
50
50
5050
55
55
55
55
55
55
5555
60
60
60
60
60
60
6060
65
65
65
65
65
65
6565
70
70
70
70
70
70
7070
75
75
75
75
75
75
7575
80
80
80
80
80
80
8080cylinders
cylinders
cylinders
cylinders
cylinders
cylinders
cylinderscylinders
100
100
100
100
100
100
100100
150
150
150
150
150
150
150150
200
200
200
200
200
200
200200
250
250
250
250
250
250
250250
300
300
300
300
300
300
300300
350
350
350
350
350
350
350350
400
400
400
400
400
400
400400
450
450
450
450
450
450
450450
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)displacement (cc)
0
0
0
0
0
0
00
20
20
20
20
20
20
2020
40
40
40
40
40
40
4040
60
60
60
60
60
60
6060
80
80
80
80
80
80
8080
100
100
100
100
100
100
100100
120
120
120
120
120
120
120120
140
140
140
140
140
140
140140
160
160
160
160
160
160
160160
180
180
180
180
180
180
180180
200
200
200
200
200
200
200200
220
220
220
220
220
220
220220
power (hp)
power (hp)
power (hp)
power (hp)
power (hp)
power (hp)
power (hp)power (hp)
2000
2000
2000
2000
2000
2000
20002000
2500
2500
2500
2500
2500
2500
25002500
3000
3000
3000
3000
3000
3000
30003000
3500
3500
3500
3500
3500
3500
35003500
4000
4000
4000
4000
4000
4000
40004000
4500
4500
4500
4500
4500
4500
45004500
5000
5000
5000
5000
5000
5000
50005000
weight (lb)
weight (lb)
weight (lb)
weight (lb)
weight (lb)
weight (lb)
weight (lb)weight (lb)
8
8
8
8
8
8
88
10
10
10
10
10
10
1010
12
12
12
12
12
12
1212
14
14
14
14
14
14
1414
16
16
16
16
16
16
1616
18
18
18
18
18
18
1818
20
20
20
20
20
20
2020
22
22
22
22
22
22
2222
24
24
24
24
24
24
2424
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)0-60 mph (s)
70
70
70
70
70
70
7070
71
71
71
71
71
71
7171
72
72
72
72
72
72
7272
73
73
73
73
73
73
7373
74
74
74
74
74
74
7474
75
75
75
75
75
75
7575
76
76
76
76
76
76
7676
77
77
77
77
77
77
7777
78
78
78
78
78
78
7878
79
79
79
79
79
79
7979
80
80
80
80
80
80
8080
81
81
81
81
81
81
8181
82
82
82
82
82
82
8282year
year
year
year
year
year
yearyear
Table Visualizations
8D Koop DSC 530 Spring 2016
[M Bostock 2011]
Networksbull Why networks instead of graphs bull Tables can represent networks
- Many-many relationships - Also can be stored as specific
graph databases or files
9D Koop DSC 530 Spring 2016
Danny Holten amp Jarke J van Wijk Force-Directed Edge Bundling for Graph Visualization
Figure 7 US airlines graph (235 nodes 2101 edges) (a) not bundled and bundled using (b) FDEB with inverse-linear model(c) GBEB and (d) FDEB with inverse-quadratic model
Figure 8 US migration graph (1715 nodes 9780 edges) (a) not bundled and bundled using (b) FDEB with inverse-linearmodel (c) GBEB and (d) FDEB with inverse-quadratic model The same migration flow is highlighted in each graph
Figure 9 A low amount of straightening provides an indication of the number of edges comprising a bundle by widening thebundle (a) s = 0 (b) s = 10 and (c) s = 40 If s is 0 color more clearly indicates the number of edges comprising a bundle
we generated use the rendering technique described in Sec-tion 41 To facilitate the comparison of migration flow inFigure 8 we use a similar rendering technique as the onethat Cui et al [CZQ08] used to generate Figure 8c
The airlines graph is comprised of 235 nodes and 2101edges It took 19 seconds to calculate the bundled airlinesgraphs (Figures 7b and 7d) using the calculation scheme pre-
sented in Section 33 The migration graph is comprised of1715 nodes and 9780 edges It took 80 seconds to calculatethe bundled migration graphs (Figures 8b and 8d) using thesame calculation scheme All measurements were performedon an Intel Core 2 Duo 266GHz PC running Windows XPwith 2GB of RAM and a GeForce 8800GT graphics cardOur prototype was implemented in Borland Delphi 7
c 2009 The Author(s)Journal compilation c 2009 The Eurographics Association and Blackwell Publishing Ltd
Networks
10D Koop DSC 530 Spring 2016
[Holten amp van Wijk 2009]
Fieldsbull Difference between continuous and discrete values bull Examples temperature pressure density bull Grids necessary to sample continuous data
bull Interpolation ldquohow to show values between the sampled points in ways that do not misleadrdquo
11D Koop DSC 530 Spring 2016
Grids (Meshes)bull Meshes combine positional information (geometry) with
topological information (connectivity)
bull Mesh type can differ substantial depending in the way mesh cells are formed
From Weiskopf Machiraju Moumlllercopy WeiskopfMachirajuMoumlller
Data Structures
bull Grid typesndash Grids differ substantially in the cells (basic
building blocks) they are constructed from and in the way the topological information is given
scattered uniform rectilinear structured unstructured[Weiskopf Machiraju Moumlller]
Spatial Data Example MRI
12D Koop DSC 530 Spring 2016
[slide via Levine 2014]
Sets amp Lists
13D Koop DSC 530 Spring 2016
[Daniels httpexperimentsundercurrentcom]
Attribute Types
14D Koop DSC 530 Spring 2016
Attribute Types
Ordering Direction
Categorical Ordered
Ordinal Quantitative
Sequential Diverging Cyclic
[Munzner (ill Maguire) 2014]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]bull Categorical [not burned burned not burned]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Sequential and Diverging Databull Sequential homogenous range
from a minimum to a maximum - Examples Land elevations ocean
depths bull Diverging can be deconstructed
into two sequences pointing in opposite directions - Has a zero point (not necessary 0) - Example Map of both land
elevation and ocean depth
16D Koop DSC 530 Spring 2016
[Rogowitz amp Treinish 1998]
lar structure of spirals allows for an easy detection of cyclesand for the comparison of periodic data sets Furthermorethe continuity of the data is expressed by using a spiral in-stead of a circle
31 Mathematical description and types of spirals
A spiral is easy to describe and understand in polar coor-dinates ie in the form The distinctive feature ofa spiral is that f is a monotone function In this work we as-sume a spiral is described by
Several simple functions f lead to well-known types ofspirals bull Archimedeslsquo spiral has the form It has the spe-
cial property that a ray emanating from the origincrosses two consecutive arcs of the spiral in a constantdistance
bull The Hyperbolic spiral has the form It is theinverse of Archimedeslsquo spiral with respect to the origin
bull More generally spirals of the form are calledArchimedean spirals
bull The logarithmic spiral has the form It has thespecial property that all arcs cut a ray emanating fromthe origin under the same angleFor the visualization of time-dependent data Archimedeslsquo
spiral seems to be the most appropriate In most applicationsdata from different periods are equally important Thisshould be reflected visually in that the distance to other peri-ods is always the same
32 Mapping data to the spiral
In general markers bars and line elements can be usedto visualize time-series data similar to standard point barand line graphs on Spiral Graphs For instance quantitativediscrete data can be presented as bars on the spiral or bymarks with a corresponding distance to the spiral Howeversince the x and y coordinate are needed to achieve the generalform of the spiral their use is limited for the display of datavalues One might consider to map data values to small ab-solute changes in the radius ie
Yet we have found this way of visualizing to be ineffec-tive We conclude that the general shape of the spiral shouldbe untouched and other attributes should be used such asbull colourbull texture including line styles and patterns
Figure 1Two visualizations of sunshine intensity using about the same screen real estate and thesame color coding scheme In the spiral visualization it is much easier to compare days to spotcloudy time periods or to see events like sunrise and sunset
r f ϕ( )=
r f ϕ( ) dfdϕ------ 0 ϕ R+isingt=
r aϕ=
2πar a ϕfrasl=
r aϕk=
r aekϕ=
r aϕ bv ϕ( ) b πamax v ϕ( )( )---------------------------lt+=
Cyclic Data
17D Koop DSC 530 Spring 2016
[Sunlight intensity Weber et al 2001]
Semanticsbull The type of data does not tell us what the data means or how it
should be interpreted bull Tables have keysvalues fields have independentdependent vars
18D Koop DSC 530 Spring 2016
Attribute SemanticsKeys vs Values (Tables) or Independent vs Dependent (Fields)
Flat
Multidimensional
Tabl
es
Fiel
ds
[Munzner (ill Maguire) 2014]
Assignment 1bull httpwwwcisumassdedu
~dkoopdsc530assignment1html bull HTML CSS SVG and JavaScript bull Part 3 will likely take significantly
more time than the other parts bull Turn in a1html (and a1css a1js)
via myCourses bull Due Friday February 12 1159pm bull Late Policy
19D Koop DSC 530 Spring 2016
Part 3 New Bedford Average Temperature by Month (2015)
Assignment 1 Notesbull Grading will be done via Chrome v48 bull For Part 3a you do not need to use all of the functions I list just
avoid loops bull Other Questions
20D Koop DSC 530 Spring 2016
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
21D Koop DSC 530 Spring 2016
Tasksbull Why Understand data but what do I want to do with it bull Levels High (ProduceConsume) Mid (Search) Low (Queries) bull Another key concern Who
- Designer lt-gt User (A spectrum) - Complex lt-gt Easy to Use - General lt-gt Context-Specific - Flexible lt-gt Constrained - Varied Data lt-gt Specific Data
22D Koop DSC 530 Spring 2016
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
22
Fieldattribute
item
Items amp Attributes
3D Koop DSC 530 Spring 2016
Items (Nodes) amp Links
4D Koop DSC 530 Spring 2016
[Bostock 2011]
Item
Links
Positions and Grids
5D Koop DSC 530 Spring 2016
Position Grid
Dataset Types
6D Koop DSC 530 Spring 2016
Tables
Attributes (columns)
Items (rows)
Cell containing value
Networks
Link
Node (item)
Trees
Fields (Continuous)
Attributes (columns)
Value in cell
Cell
Multidimensional Table
Value in cell
Grid of positions
Geometry (Spatial)
Position
Dataset Types
[Munzner (ill Maguire) 2014]
Fieldattribute
itemcell
Tables
7D Koop DSC 530 Spring 2016
0
0
0
0
0
0
00
5
5
5
5
5
5
55
10
10
10
10
10
10
1010
15
15
15
15
15
15
1515
20
20
20
20
20
20
2020
25
25
25
25
25
25
2525
30
30
30
30
30
30
3030
35
35
35
35
35
35
3535
40
40
40
40
40
40
4040
45
45
45
45
45
45
4545
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)economy (mpg)
30
30
30
30
30
30
3030
35
35
35
35
35
35
3535
40
40
40
40
40
40
4040
45
45
45
45
45
45
4545
50
50
50
50
50
50
5050
55
55
55
55
55
55
5555
60
60
60
60
60
60
6060
65
65
65
65
65
65
6565
70
70
70
70
70
70
7070
75
75
75
75
75
75
7575
80
80
80
80
80
80
8080cylinders
cylinders
cylinders
cylinders
cylinders
cylinders
cylinderscylinders
100
100
100
100
100
100
100100
150
150
150
150
150
150
150150
200
200
200
200
200
200
200200
250
250
250
250
250
250
250250
300
300
300
300
300
300
300300
350
350
350
350
350
350
350350
400
400
400
400
400
400
400400
450
450
450
450
450
450
450450
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)displacement (cc)
0
0
0
0
0
0
00
20
20
20
20
20
20
2020
40
40
40
40
40
40
4040
60
60
60
60
60
60
6060
80
80
80
80
80
80
8080
100
100
100
100
100
100
100100
120
120
120
120
120
120
120120
140
140
140
140
140
140
140140
160
160
160
160
160
160
160160
180
180
180
180
180
180
180180
200
200
200
200
200
200
200200
220
220
220
220
220
220
220220
power (hp)
power (hp)
power (hp)
power (hp)
power (hp)
power (hp)
power (hp)power (hp)
2000
2000
2000
2000
2000
2000
20002000
2500
2500
2500
2500
2500
2500
25002500
3000
3000
3000
3000
3000
3000
30003000
3500
3500
3500
3500
3500
3500
35003500
4000
4000
4000
4000
4000
4000
40004000
4500
4500
4500
4500
4500
4500
45004500
5000
5000
5000
5000
5000
5000
50005000
weight (lb)
weight (lb)
weight (lb)
weight (lb)
weight (lb)
weight (lb)
weight (lb)weight (lb)
8
8
8
8
8
8
88
10
10
10
10
10
10
1010
12
12
12
12
12
12
1212
14
14
14
14
14
14
1414
16
16
16
16
16
16
1616
18
18
18
18
18
18
1818
20
20
20
20
20
20
2020
22
22
22
22
22
22
2222
24
24
24
24
24
24
2424
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)0-60 mph (s)
70
70
70
70
70
70
7070
71
71
71
71
71
71
7171
72
72
72
72
72
72
7272
73
73
73
73
73
73
7373
74
74
74
74
74
74
7474
75
75
75
75
75
75
7575
76
76
76
76
76
76
7676
77
77
77
77
77
77
7777
78
78
78
78
78
78
7878
79
79
79
79
79
79
7979
80
80
80
80
80
80
8080
81
81
81
81
81
81
8181
82
82
82
82
82
82
8282year
year
year
year
year
year
yearyear
Table Visualizations
8D Koop DSC 530 Spring 2016
[M Bostock 2011]
Networksbull Why networks instead of graphs bull Tables can represent networks
- Many-many relationships - Also can be stored as specific
graph databases or files
9D Koop DSC 530 Spring 2016
Danny Holten amp Jarke J van Wijk Force-Directed Edge Bundling for Graph Visualization
Figure 7 US airlines graph (235 nodes 2101 edges) (a) not bundled and bundled using (b) FDEB with inverse-linear model(c) GBEB and (d) FDEB with inverse-quadratic model
Figure 8 US migration graph (1715 nodes 9780 edges) (a) not bundled and bundled using (b) FDEB with inverse-linearmodel (c) GBEB and (d) FDEB with inverse-quadratic model The same migration flow is highlighted in each graph
Figure 9 A low amount of straightening provides an indication of the number of edges comprising a bundle by widening thebundle (a) s = 0 (b) s = 10 and (c) s = 40 If s is 0 color more clearly indicates the number of edges comprising a bundle
we generated use the rendering technique described in Sec-tion 41 To facilitate the comparison of migration flow inFigure 8 we use a similar rendering technique as the onethat Cui et al [CZQ08] used to generate Figure 8c
The airlines graph is comprised of 235 nodes and 2101edges It took 19 seconds to calculate the bundled airlinesgraphs (Figures 7b and 7d) using the calculation scheme pre-
sented in Section 33 The migration graph is comprised of1715 nodes and 9780 edges It took 80 seconds to calculatethe bundled migration graphs (Figures 8b and 8d) using thesame calculation scheme All measurements were performedon an Intel Core 2 Duo 266GHz PC running Windows XPwith 2GB of RAM and a GeForce 8800GT graphics cardOur prototype was implemented in Borland Delphi 7
c 2009 The Author(s)Journal compilation c 2009 The Eurographics Association and Blackwell Publishing Ltd
Networks
10D Koop DSC 530 Spring 2016
[Holten amp van Wijk 2009]
Fieldsbull Difference between continuous and discrete values bull Examples temperature pressure density bull Grids necessary to sample continuous data
bull Interpolation ldquohow to show values between the sampled points in ways that do not misleadrdquo
11D Koop DSC 530 Spring 2016
Grids (Meshes)bull Meshes combine positional information (geometry) with
topological information (connectivity)
bull Mesh type can differ substantial depending in the way mesh cells are formed
From Weiskopf Machiraju Moumlllercopy WeiskopfMachirajuMoumlller
Data Structures
bull Grid typesndash Grids differ substantially in the cells (basic
building blocks) they are constructed from and in the way the topological information is given
scattered uniform rectilinear structured unstructured[Weiskopf Machiraju Moumlller]
Spatial Data Example MRI
12D Koop DSC 530 Spring 2016
[slide via Levine 2014]
Sets amp Lists
13D Koop DSC 530 Spring 2016
[Daniels httpexperimentsundercurrentcom]
Attribute Types
14D Koop DSC 530 Spring 2016
Attribute Types
Ordering Direction
Categorical Ordered
Ordinal Quantitative
Sequential Diverging Cyclic
[Munzner (ill Maguire) 2014]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]bull Categorical [not burned burned not burned]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Sequential and Diverging Databull Sequential homogenous range
from a minimum to a maximum - Examples Land elevations ocean
depths bull Diverging can be deconstructed
into two sequences pointing in opposite directions - Has a zero point (not necessary 0) - Example Map of both land
elevation and ocean depth
16D Koop DSC 530 Spring 2016
[Rogowitz amp Treinish 1998]
lar structure of spirals allows for an easy detection of cyclesand for the comparison of periodic data sets Furthermorethe continuity of the data is expressed by using a spiral in-stead of a circle
31 Mathematical description and types of spirals
A spiral is easy to describe and understand in polar coor-dinates ie in the form The distinctive feature ofa spiral is that f is a monotone function In this work we as-sume a spiral is described by
Several simple functions f lead to well-known types ofspirals bull Archimedeslsquo spiral has the form It has the spe-
cial property that a ray emanating from the origincrosses two consecutive arcs of the spiral in a constantdistance
bull The Hyperbolic spiral has the form It is theinverse of Archimedeslsquo spiral with respect to the origin
bull More generally spirals of the form are calledArchimedean spirals
bull The logarithmic spiral has the form It has thespecial property that all arcs cut a ray emanating fromthe origin under the same angleFor the visualization of time-dependent data Archimedeslsquo
spiral seems to be the most appropriate In most applicationsdata from different periods are equally important Thisshould be reflected visually in that the distance to other peri-ods is always the same
32 Mapping data to the spiral
In general markers bars and line elements can be usedto visualize time-series data similar to standard point barand line graphs on Spiral Graphs For instance quantitativediscrete data can be presented as bars on the spiral or bymarks with a corresponding distance to the spiral Howeversince the x and y coordinate are needed to achieve the generalform of the spiral their use is limited for the display of datavalues One might consider to map data values to small ab-solute changes in the radius ie
Yet we have found this way of visualizing to be ineffec-tive We conclude that the general shape of the spiral shouldbe untouched and other attributes should be used such asbull colourbull texture including line styles and patterns
Figure 1Two visualizations of sunshine intensity using about the same screen real estate and thesame color coding scheme In the spiral visualization it is much easier to compare days to spotcloudy time periods or to see events like sunrise and sunset
r f ϕ( )=
r f ϕ( ) dfdϕ------ 0 ϕ R+isingt=
r aϕ=
2πar a ϕfrasl=
r aϕk=
r aekϕ=
r aϕ bv ϕ( ) b πamax v ϕ( )( )---------------------------lt+=
Cyclic Data
17D Koop DSC 530 Spring 2016
[Sunlight intensity Weber et al 2001]
Semanticsbull The type of data does not tell us what the data means or how it
should be interpreted bull Tables have keysvalues fields have independentdependent vars
18D Koop DSC 530 Spring 2016
Attribute SemanticsKeys vs Values (Tables) or Independent vs Dependent (Fields)
Flat
Multidimensional
Tabl
es
Fiel
ds
[Munzner (ill Maguire) 2014]
Assignment 1bull httpwwwcisumassdedu
~dkoopdsc530assignment1html bull HTML CSS SVG and JavaScript bull Part 3 will likely take significantly
more time than the other parts bull Turn in a1html (and a1css a1js)
via myCourses bull Due Friday February 12 1159pm bull Late Policy
19D Koop DSC 530 Spring 2016
Part 3 New Bedford Average Temperature by Month (2015)
Assignment 1 Notesbull Grading will be done via Chrome v48 bull For Part 3a you do not need to use all of the functions I list just
avoid loops bull Other Questions
20D Koop DSC 530 Spring 2016
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
21D Koop DSC 530 Spring 2016
Tasksbull Why Understand data but what do I want to do with it bull Levels High (ProduceConsume) Mid (Search) Low (Queries) bull Another key concern Who
- Designer lt-gt User (A spectrum) - Complex lt-gt Easy to Use - General lt-gt Context-Specific - Flexible lt-gt Constrained - Varied Data lt-gt Specific Data
22D Koop DSC 530 Spring 2016
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Items (Nodes) amp Links
4D Koop DSC 530 Spring 2016
[Bostock 2011]
Item
Links
Positions and Grids
5D Koop DSC 530 Spring 2016
Position Grid
Dataset Types
6D Koop DSC 530 Spring 2016
Tables
Attributes (columns)
Items (rows)
Cell containing value
Networks
Link
Node (item)
Trees
Fields (Continuous)
Attributes (columns)
Value in cell
Cell
Multidimensional Table
Value in cell
Grid of positions
Geometry (Spatial)
Position
Dataset Types
[Munzner (ill Maguire) 2014]
Fieldattribute
itemcell
Tables
7D Koop DSC 530 Spring 2016
0
0
0
0
0
0
00
5
5
5
5
5
5
55
10
10
10
10
10
10
1010
15
15
15
15
15
15
1515
20
20
20
20
20
20
2020
25
25
25
25
25
25
2525
30
30
30
30
30
30
3030
35
35
35
35
35
35
3535
40
40
40
40
40
40
4040
45
45
45
45
45
45
4545
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)economy (mpg)
30
30
30
30
30
30
3030
35
35
35
35
35
35
3535
40
40
40
40
40
40
4040
45
45
45
45
45
45
4545
50
50
50
50
50
50
5050
55
55
55
55
55
55
5555
60
60
60
60
60
60
6060
65
65
65
65
65
65
6565
70
70
70
70
70
70
7070
75
75
75
75
75
75
7575
80
80
80
80
80
80
8080cylinders
cylinders
cylinders
cylinders
cylinders
cylinders
cylinderscylinders
100
100
100
100
100
100
100100
150
150
150
150
150
150
150150
200
200
200
200
200
200
200200
250
250
250
250
250
250
250250
300
300
300
300
300
300
300300
350
350
350
350
350
350
350350
400
400
400
400
400
400
400400
450
450
450
450
450
450
450450
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)displacement (cc)
0
0
0
0
0
0
00
20
20
20
20
20
20
2020
40
40
40
40
40
40
4040
60
60
60
60
60
60
6060
80
80
80
80
80
80
8080
100
100
100
100
100
100
100100
120
120
120
120
120
120
120120
140
140
140
140
140
140
140140
160
160
160
160
160
160
160160
180
180
180
180
180
180
180180
200
200
200
200
200
200
200200
220
220
220
220
220
220
220220
power (hp)
power (hp)
power (hp)
power (hp)
power (hp)
power (hp)
power (hp)power (hp)
2000
2000
2000
2000
2000
2000
20002000
2500
2500
2500
2500
2500
2500
25002500
3000
3000
3000
3000
3000
3000
30003000
3500
3500
3500
3500
3500
3500
35003500
4000
4000
4000
4000
4000
4000
40004000
4500
4500
4500
4500
4500
4500
45004500
5000
5000
5000
5000
5000
5000
50005000
weight (lb)
weight (lb)
weight (lb)
weight (lb)
weight (lb)
weight (lb)
weight (lb)weight (lb)
8
8
8
8
8
8
88
10
10
10
10
10
10
1010
12
12
12
12
12
12
1212
14
14
14
14
14
14
1414
16
16
16
16
16
16
1616
18
18
18
18
18
18
1818
20
20
20
20
20
20
2020
22
22
22
22
22
22
2222
24
24
24
24
24
24
2424
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)0-60 mph (s)
70
70
70
70
70
70
7070
71
71
71
71
71
71
7171
72
72
72
72
72
72
7272
73
73
73
73
73
73
7373
74
74
74
74
74
74
7474
75
75
75
75
75
75
7575
76
76
76
76
76
76
7676
77
77
77
77
77
77
7777
78
78
78
78
78
78
7878
79
79
79
79
79
79
7979
80
80
80
80
80
80
8080
81
81
81
81
81
81
8181
82
82
82
82
82
82
8282year
year
year
year
year
year
yearyear
Table Visualizations
8D Koop DSC 530 Spring 2016
[M Bostock 2011]
Networksbull Why networks instead of graphs bull Tables can represent networks
- Many-many relationships - Also can be stored as specific
graph databases or files
9D Koop DSC 530 Spring 2016
Danny Holten amp Jarke J van Wijk Force-Directed Edge Bundling for Graph Visualization
Figure 7 US airlines graph (235 nodes 2101 edges) (a) not bundled and bundled using (b) FDEB with inverse-linear model(c) GBEB and (d) FDEB with inverse-quadratic model
Figure 8 US migration graph (1715 nodes 9780 edges) (a) not bundled and bundled using (b) FDEB with inverse-linearmodel (c) GBEB and (d) FDEB with inverse-quadratic model The same migration flow is highlighted in each graph
Figure 9 A low amount of straightening provides an indication of the number of edges comprising a bundle by widening thebundle (a) s = 0 (b) s = 10 and (c) s = 40 If s is 0 color more clearly indicates the number of edges comprising a bundle
we generated use the rendering technique described in Sec-tion 41 To facilitate the comparison of migration flow inFigure 8 we use a similar rendering technique as the onethat Cui et al [CZQ08] used to generate Figure 8c
The airlines graph is comprised of 235 nodes and 2101edges It took 19 seconds to calculate the bundled airlinesgraphs (Figures 7b and 7d) using the calculation scheme pre-
sented in Section 33 The migration graph is comprised of1715 nodes and 9780 edges It took 80 seconds to calculatethe bundled migration graphs (Figures 8b and 8d) using thesame calculation scheme All measurements were performedon an Intel Core 2 Duo 266GHz PC running Windows XPwith 2GB of RAM and a GeForce 8800GT graphics cardOur prototype was implemented in Borland Delphi 7
c 2009 The Author(s)Journal compilation c 2009 The Eurographics Association and Blackwell Publishing Ltd
Networks
10D Koop DSC 530 Spring 2016
[Holten amp van Wijk 2009]
Fieldsbull Difference between continuous and discrete values bull Examples temperature pressure density bull Grids necessary to sample continuous data
bull Interpolation ldquohow to show values between the sampled points in ways that do not misleadrdquo
11D Koop DSC 530 Spring 2016
Grids (Meshes)bull Meshes combine positional information (geometry) with
topological information (connectivity)
bull Mesh type can differ substantial depending in the way mesh cells are formed
From Weiskopf Machiraju Moumlllercopy WeiskopfMachirajuMoumlller
Data Structures
bull Grid typesndash Grids differ substantially in the cells (basic
building blocks) they are constructed from and in the way the topological information is given
scattered uniform rectilinear structured unstructured[Weiskopf Machiraju Moumlller]
Spatial Data Example MRI
12D Koop DSC 530 Spring 2016
[slide via Levine 2014]
Sets amp Lists
13D Koop DSC 530 Spring 2016
[Daniels httpexperimentsundercurrentcom]
Attribute Types
14D Koop DSC 530 Spring 2016
Attribute Types
Ordering Direction
Categorical Ordered
Ordinal Quantitative
Sequential Diverging Cyclic
[Munzner (ill Maguire) 2014]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]bull Categorical [not burned burned not burned]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Sequential and Diverging Databull Sequential homogenous range
from a minimum to a maximum - Examples Land elevations ocean
depths bull Diverging can be deconstructed
into two sequences pointing in opposite directions - Has a zero point (not necessary 0) - Example Map of both land
elevation and ocean depth
16D Koop DSC 530 Spring 2016
[Rogowitz amp Treinish 1998]
lar structure of spirals allows for an easy detection of cyclesand for the comparison of periodic data sets Furthermorethe continuity of the data is expressed by using a spiral in-stead of a circle
31 Mathematical description and types of spirals
A spiral is easy to describe and understand in polar coor-dinates ie in the form The distinctive feature ofa spiral is that f is a monotone function In this work we as-sume a spiral is described by
Several simple functions f lead to well-known types ofspirals bull Archimedeslsquo spiral has the form It has the spe-
cial property that a ray emanating from the origincrosses two consecutive arcs of the spiral in a constantdistance
bull The Hyperbolic spiral has the form It is theinverse of Archimedeslsquo spiral with respect to the origin
bull More generally spirals of the form are calledArchimedean spirals
bull The logarithmic spiral has the form It has thespecial property that all arcs cut a ray emanating fromthe origin under the same angleFor the visualization of time-dependent data Archimedeslsquo
spiral seems to be the most appropriate In most applicationsdata from different periods are equally important Thisshould be reflected visually in that the distance to other peri-ods is always the same
32 Mapping data to the spiral
In general markers bars and line elements can be usedto visualize time-series data similar to standard point barand line graphs on Spiral Graphs For instance quantitativediscrete data can be presented as bars on the spiral or bymarks with a corresponding distance to the spiral Howeversince the x and y coordinate are needed to achieve the generalform of the spiral their use is limited for the display of datavalues One might consider to map data values to small ab-solute changes in the radius ie
Yet we have found this way of visualizing to be ineffec-tive We conclude that the general shape of the spiral shouldbe untouched and other attributes should be used such asbull colourbull texture including line styles and patterns
Figure 1Two visualizations of sunshine intensity using about the same screen real estate and thesame color coding scheme In the spiral visualization it is much easier to compare days to spotcloudy time periods or to see events like sunrise and sunset
r f ϕ( )=
r f ϕ( ) dfdϕ------ 0 ϕ R+isingt=
r aϕ=
2πar a ϕfrasl=
r aϕk=
r aekϕ=
r aϕ bv ϕ( ) b πamax v ϕ( )( )---------------------------lt+=
Cyclic Data
17D Koop DSC 530 Spring 2016
[Sunlight intensity Weber et al 2001]
Semanticsbull The type of data does not tell us what the data means or how it
should be interpreted bull Tables have keysvalues fields have independentdependent vars
18D Koop DSC 530 Spring 2016
Attribute SemanticsKeys vs Values (Tables) or Independent vs Dependent (Fields)
Flat
Multidimensional
Tabl
es
Fiel
ds
[Munzner (ill Maguire) 2014]
Assignment 1bull httpwwwcisumassdedu
~dkoopdsc530assignment1html bull HTML CSS SVG and JavaScript bull Part 3 will likely take significantly
more time than the other parts bull Turn in a1html (and a1css a1js)
via myCourses bull Due Friday February 12 1159pm bull Late Policy
19D Koop DSC 530 Spring 2016
Part 3 New Bedford Average Temperature by Month (2015)
Assignment 1 Notesbull Grading will be done via Chrome v48 bull For Part 3a you do not need to use all of the functions I list just
avoid loops bull Other Questions
20D Koop DSC 530 Spring 2016
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
21D Koop DSC 530 Spring 2016
Tasksbull Why Understand data but what do I want to do with it bull Levels High (ProduceConsume) Mid (Search) Low (Queries) bull Another key concern Who
- Designer lt-gt User (A spectrum) - Complex lt-gt Easy to Use - General lt-gt Context-Specific - Flexible lt-gt Constrained - Varied Data lt-gt Specific Data
22D Koop DSC 530 Spring 2016
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Positions and Grids
5D Koop DSC 530 Spring 2016
Position Grid
Dataset Types
6D Koop DSC 530 Spring 2016
Tables
Attributes (columns)
Items (rows)
Cell containing value
Networks
Link
Node (item)
Trees
Fields (Continuous)
Attributes (columns)
Value in cell
Cell
Multidimensional Table
Value in cell
Grid of positions
Geometry (Spatial)
Position
Dataset Types
[Munzner (ill Maguire) 2014]
Fieldattribute
itemcell
Tables
7D Koop DSC 530 Spring 2016
0
0
0
0
0
0
00
5
5
5
5
5
5
55
10
10
10
10
10
10
1010
15
15
15
15
15
15
1515
20
20
20
20
20
20
2020
25
25
25
25
25
25
2525
30
30
30
30
30
30
3030
35
35
35
35
35
35
3535
40
40
40
40
40
40
4040
45
45
45
45
45
45
4545
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)economy (mpg)
30
30
30
30
30
30
3030
35
35
35
35
35
35
3535
40
40
40
40
40
40
4040
45
45
45
45
45
45
4545
50
50
50
50
50
50
5050
55
55
55
55
55
55
5555
60
60
60
60
60
60
6060
65
65
65
65
65
65
6565
70
70
70
70
70
70
7070
75
75
75
75
75
75
7575
80
80
80
80
80
80
8080cylinders
cylinders
cylinders
cylinders
cylinders
cylinders
cylinderscylinders
100
100
100
100
100
100
100100
150
150
150
150
150
150
150150
200
200
200
200
200
200
200200
250
250
250
250
250
250
250250
300
300
300
300
300
300
300300
350
350
350
350
350
350
350350
400
400
400
400
400
400
400400
450
450
450
450
450
450
450450
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)displacement (cc)
0
0
0
0
0
0
00
20
20
20
20
20
20
2020
40
40
40
40
40
40
4040
60
60
60
60
60
60
6060
80
80
80
80
80
80
8080
100
100
100
100
100
100
100100
120
120
120
120
120
120
120120
140
140
140
140
140
140
140140
160
160
160
160
160
160
160160
180
180
180
180
180
180
180180
200
200
200
200
200
200
200200
220
220
220
220
220
220
220220
power (hp)
power (hp)
power (hp)
power (hp)
power (hp)
power (hp)
power (hp)power (hp)
2000
2000
2000
2000
2000
2000
20002000
2500
2500
2500
2500
2500
2500
25002500
3000
3000
3000
3000
3000
3000
30003000
3500
3500
3500
3500
3500
3500
35003500
4000
4000
4000
4000
4000
4000
40004000
4500
4500
4500
4500
4500
4500
45004500
5000
5000
5000
5000
5000
5000
50005000
weight (lb)
weight (lb)
weight (lb)
weight (lb)
weight (lb)
weight (lb)
weight (lb)weight (lb)
8
8
8
8
8
8
88
10
10
10
10
10
10
1010
12
12
12
12
12
12
1212
14
14
14
14
14
14
1414
16
16
16
16
16
16
1616
18
18
18
18
18
18
1818
20
20
20
20
20
20
2020
22
22
22
22
22
22
2222
24
24
24
24
24
24
2424
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)0-60 mph (s)
70
70
70
70
70
70
7070
71
71
71
71
71
71
7171
72
72
72
72
72
72
7272
73
73
73
73
73
73
7373
74
74
74
74
74
74
7474
75
75
75
75
75
75
7575
76
76
76
76
76
76
7676
77
77
77
77
77
77
7777
78
78
78
78
78
78
7878
79
79
79
79
79
79
7979
80
80
80
80
80
80
8080
81
81
81
81
81
81
8181
82
82
82
82
82
82
8282year
year
year
year
year
year
yearyear
Table Visualizations
8D Koop DSC 530 Spring 2016
[M Bostock 2011]
Networksbull Why networks instead of graphs bull Tables can represent networks
- Many-many relationships - Also can be stored as specific
graph databases or files
9D Koop DSC 530 Spring 2016
Danny Holten amp Jarke J van Wijk Force-Directed Edge Bundling for Graph Visualization
Figure 7 US airlines graph (235 nodes 2101 edges) (a) not bundled and bundled using (b) FDEB with inverse-linear model(c) GBEB and (d) FDEB with inverse-quadratic model
Figure 8 US migration graph (1715 nodes 9780 edges) (a) not bundled and bundled using (b) FDEB with inverse-linearmodel (c) GBEB and (d) FDEB with inverse-quadratic model The same migration flow is highlighted in each graph
Figure 9 A low amount of straightening provides an indication of the number of edges comprising a bundle by widening thebundle (a) s = 0 (b) s = 10 and (c) s = 40 If s is 0 color more clearly indicates the number of edges comprising a bundle
we generated use the rendering technique described in Sec-tion 41 To facilitate the comparison of migration flow inFigure 8 we use a similar rendering technique as the onethat Cui et al [CZQ08] used to generate Figure 8c
The airlines graph is comprised of 235 nodes and 2101edges It took 19 seconds to calculate the bundled airlinesgraphs (Figures 7b and 7d) using the calculation scheme pre-
sented in Section 33 The migration graph is comprised of1715 nodes and 9780 edges It took 80 seconds to calculatethe bundled migration graphs (Figures 8b and 8d) using thesame calculation scheme All measurements were performedon an Intel Core 2 Duo 266GHz PC running Windows XPwith 2GB of RAM and a GeForce 8800GT graphics cardOur prototype was implemented in Borland Delphi 7
c 2009 The Author(s)Journal compilation c 2009 The Eurographics Association and Blackwell Publishing Ltd
Networks
10D Koop DSC 530 Spring 2016
[Holten amp van Wijk 2009]
Fieldsbull Difference between continuous and discrete values bull Examples temperature pressure density bull Grids necessary to sample continuous data
bull Interpolation ldquohow to show values between the sampled points in ways that do not misleadrdquo
11D Koop DSC 530 Spring 2016
Grids (Meshes)bull Meshes combine positional information (geometry) with
topological information (connectivity)
bull Mesh type can differ substantial depending in the way mesh cells are formed
From Weiskopf Machiraju Moumlllercopy WeiskopfMachirajuMoumlller
Data Structures
bull Grid typesndash Grids differ substantially in the cells (basic
building blocks) they are constructed from and in the way the topological information is given
scattered uniform rectilinear structured unstructured[Weiskopf Machiraju Moumlller]
Spatial Data Example MRI
12D Koop DSC 530 Spring 2016
[slide via Levine 2014]
Sets amp Lists
13D Koop DSC 530 Spring 2016
[Daniels httpexperimentsundercurrentcom]
Attribute Types
14D Koop DSC 530 Spring 2016
Attribute Types
Ordering Direction
Categorical Ordered
Ordinal Quantitative
Sequential Diverging Cyclic
[Munzner (ill Maguire) 2014]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]bull Categorical [not burned burned not burned]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Sequential and Diverging Databull Sequential homogenous range
from a minimum to a maximum - Examples Land elevations ocean
depths bull Diverging can be deconstructed
into two sequences pointing in opposite directions - Has a zero point (not necessary 0) - Example Map of both land
elevation and ocean depth
16D Koop DSC 530 Spring 2016
[Rogowitz amp Treinish 1998]
lar structure of spirals allows for an easy detection of cyclesand for the comparison of periodic data sets Furthermorethe continuity of the data is expressed by using a spiral in-stead of a circle
31 Mathematical description and types of spirals
A spiral is easy to describe and understand in polar coor-dinates ie in the form The distinctive feature ofa spiral is that f is a monotone function In this work we as-sume a spiral is described by
Several simple functions f lead to well-known types ofspirals bull Archimedeslsquo spiral has the form It has the spe-
cial property that a ray emanating from the origincrosses two consecutive arcs of the spiral in a constantdistance
bull The Hyperbolic spiral has the form It is theinverse of Archimedeslsquo spiral with respect to the origin
bull More generally spirals of the form are calledArchimedean spirals
bull The logarithmic spiral has the form It has thespecial property that all arcs cut a ray emanating fromthe origin under the same angleFor the visualization of time-dependent data Archimedeslsquo
spiral seems to be the most appropriate In most applicationsdata from different periods are equally important Thisshould be reflected visually in that the distance to other peri-ods is always the same
32 Mapping data to the spiral
In general markers bars and line elements can be usedto visualize time-series data similar to standard point barand line graphs on Spiral Graphs For instance quantitativediscrete data can be presented as bars on the spiral or bymarks with a corresponding distance to the spiral Howeversince the x and y coordinate are needed to achieve the generalform of the spiral their use is limited for the display of datavalues One might consider to map data values to small ab-solute changes in the radius ie
Yet we have found this way of visualizing to be ineffec-tive We conclude that the general shape of the spiral shouldbe untouched and other attributes should be used such asbull colourbull texture including line styles and patterns
Figure 1Two visualizations of sunshine intensity using about the same screen real estate and thesame color coding scheme In the spiral visualization it is much easier to compare days to spotcloudy time periods or to see events like sunrise and sunset
r f ϕ( )=
r f ϕ( ) dfdϕ------ 0 ϕ R+isingt=
r aϕ=
2πar a ϕfrasl=
r aϕk=
r aekϕ=
r aϕ bv ϕ( ) b πamax v ϕ( )( )---------------------------lt+=
Cyclic Data
17D Koop DSC 530 Spring 2016
[Sunlight intensity Weber et al 2001]
Semanticsbull The type of data does not tell us what the data means or how it
should be interpreted bull Tables have keysvalues fields have independentdependent vars
18D Koop DSC 530 Spring 2016
Attribute SemanticsKeys vs Values (Tables) or Independent vs Dependent (Fields)
Flat
Multidimensional
Tabl
es
Fiel
ds
[Munzner (ill Maguire) 2014]
Assignment 1bull httpwwwcisumassdedu
~dkoopdsc530assignment1html bull HTML CSS SVG and JavaScript bull Part 3 will likely take significantly
more time than the other parts bull Turn in a1html (and a1css a1js)
via myCourses bull Due Friday February 12 1159pm bull Late Policy
19D Koop DSC 530 Spring 2016
Part 3 New Bedford Average Temperature by Month (2015)
Assignment 1 Notesbull Grading will be done via Chrome v48 bull For Part 3a you do not need to use all of the functions I list just
avoid loops bull Other Questions
20D Koop DSC 530 Spring 2016
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
21D Koop DSC 530 Spring 2016
Tasksbull Why Understand data but what do I want to do with it bull Levels High (ProduceConsume) Mid (Search) Low (Queries) bull Another key concern Who
- Designer lt-gt User (A spectrum) - Complex lt-gt Easy to Use - General lt-gt Context-Specific - Flexible lt-gt Constrained - Varied Data lt-gt Specific Data
22D Koop DSC 530 Spring 2016
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Dataset Types
6D Koop DSC 530 Spring 2016
Tables
Attributes (columns)
Items (rows)
Cell containing value
Networks
Link
Node (item)
Trees
Fields (Continuous)
Attributes (columns)
Value in cell
Cell
Multidimensional Table
Value in cell
Grid of positions
Geometry (Spatial)
Position
Dataset Types
[Munzner (ill Maguire) 2014]
Fieldattribute
itemcell
Tables
7D Koop DSC 530 Spring 2016
0
0
0
0
0
0
00
5
5
5
5
5
5
55
10
10
10
10
10
10
1010
15
15
15
15
15
15
1515
20
20
20
20
20
20
2020
25
25
25
25
25
25
2525
30
30
30
30
30
30
3030
35
35
35
35
35
35
3535
40
40
40
40
40
40
4040
45
45
45
45
45
45
4545
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)economy (mpg)
30
30
30
30
30
30
3030
35
35
35
35
35
35
3535
40
40
40
40
40
40
4040
45
45
45
45
45
45
4545
50
50
50
50
50
50
5050
55
55
55
55
55
55
5555
60
60
60
60
60
60
6060
65
65
65
65
65
65
6565
70
70
70
70
70
70
7070
75
75
75
75
75
75
7575
80
80
80
80
80
80
8080cylinders
cylinders
cylinders
cylinders
cylinders
cylinders
cylinderscylinders
100
100
100
100
100
100
100100
150
150
150
150
150
150
150150
200
200
200
200
200
200
200200
250
250
250
250
250
250
250250
300
300
300
300
300
300
300300
350
350
350
350
350
350
350350
400
400
400
400
400
400
400400
450
450
450
450
450
450
450450
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)displacement (cc)
0
0
0
0
0
0
00
20
20
20
20
20
20
2020
40
40
40
40
40
40
4040
60
60
60
60
60
60
6060
80
80
80
80
80
80
8080
100
100
100
100
100
100
100100
120
120
120
120
120
120
120120
140
140
140
140
140
140
140140
160
160
160
160
160
160
160160
180
180
180
180
180
180
180180
200
200
200
200
200
200
200200
220
220
220
220
220
220
220220
power (hp)
power (hp)
power (hp)
power (hp)
power (hp)
power (hp)
power (hp)power (hp)
2000
2000
2000
2000
2000
2000
20002000
2500
2500
2500
2500
2500
2500
25002500
3000
3000
3000
3000
3000
3000
30003000
3500
3500
3500
3500
3500
3500
35003500
4000
4000
4000
4000
4000
4000
40004000
4500
4500
4500
4500
4500
4500
45004500
5000
5000
5000
5000
5000
5000
50005000
weight (lb)
weight (lb)
weight (lb)
weight (lb)
weight (lb)
weight (lb)
weight (lb)weight (lb)
8
8
8
8
8
8
88
10
10
10
10
10
10
1010
12
12
12
12
12
12
1212
14
14
14
14
14
14
1414
16
16
16
16
16
16
1616
18
18
18
18
18
18
1818
20
20
20
20
20
20
2020
22
22
22
22
22
22
2222
24
24
24
24
24
24
2424
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)0-60 mph (s)
70
70
70
70
70
70
7070
71
71
71
71
71
71
7171
72
72
72
72
72
72
7272
73
73
73
73
73
73
7373
74
74
74
74
74
74
7474
75
75
75
75
75
75
7575
76
76
76
76
76
76
7676
77
77
77
77
77
77
7777
78
78
78
78
78
78
7878
79
79
79
79
79
79
7979
80
80
80
80
80
80
8080
81
81
81
81
81
81
8181
82
82
82
82
82
82
8282year
year
year
year
year
year
yearyear
Table Visualizations
8D Koop DSC 530 Spring 2016
[M Bostock 2011]
Networksbull Why networks instead of graphs bull Tables can represent networks
- Many-many relationships - Also can be stored as specific
graph databases or files
9D Koop DSC 530 Spring 2016
Danny Holten amp Jarke J van Wijk Force-Directed Edge Bundling for Graph Visualization
Figure 7 US airlines graph (235 nodes 2101 edges) (a) not bundled and bundled using (b) FDEB with inverse-linear model(c) GBEB and (d) FDEB with inverse-quadratic model
Figure 8 US migration graph (1715 nodes 9780 edges) (a) not bundled and bundled using (b) FDEB with inverse-linearmodel (c) GBEB and (d) FDEB with inverse-quadratic model The same migration flow is highlighted in each graph
Figure 9 A low amount of straightening provides an indication of the number of edges comprising a bundle by widening thebundle (a) s = 0 (b) s = 10 and (c) s = 40 If s is 0 color more clearly indicates the number of edges comprising a bundle
we generated use the rendering technique described in Sec-tion 41 To facilitate the comparison of migration flow inFigure 8 we use a similar rendering technique as the onethat Cui et al [CZQ08] used to generate Figure 8c
The airlines graph is comprised of 235 nodes and 2101edges It took 19 seconds to calculate the bundled airlinesgraphs (Figures 7b and 7d) using the calculation scheme pre-
sented in Section 33 The migration graph is comprised of1715 nodes and 9780 edges It took 80 seconds to calculatethe bundled migration graphs (Figures 8b and 8d) using thesame calculation scheme All measurements were performedon an Intel Core 2 Duo 266GHz PC running Windows XPwith 2GB of RAM and a GeForce 8800GT graphics cardOur prototype was implemented in Borland Delphi 7
c 2009 The Author(s)Journal compilation c 2009 The Eurographics Association and Blackwell Publishing Ltd
Networks
10D Koop DSC 530 Spring 2016
[Holten amp van Wijk 2009]
Fieldsbull Difference between continuous and discrete values bull Examples temperature pressure density bull Grids necessary to sample continuous data
bull Interpolation ldquohow to show values between the sampled points in ways that do not misleadrdquo
11D Koop DSC 530 Spring 2016
Grids (Meshes)bull Meshes combine positional information (geometry) with
topological information (connectivity)
bull Mesh type can differ substantial depending in the way mesh cells are formed
From Weiskopf Machiraju Moumlllercopy WeiskopfMachirajuMoumlller
Data Structures
bull Grid typesndash Grids differ substantially in the cells (basic
building blocks) they are constructed from and in the way the topological information is given
scattered uniform rectilinear structured unstructured[Weiskopf Machiraju Moumlller]
Spatial Data Example MRI
12D Koop DSC 530 Spring 2016
[slide via Levine 2014]
Sets amp Lists
13D Koop DSC 530 Spring 2016
[Daniels httpexperimentsundercurrentcom]
Attribute Types
14D Koop DSC 530 Spring 2016
Attribute Types
Ordering Direction
Categorical Ordered
Ordinal Quantitative
Sequential Diverging Cyclic
[Munzner (ill Maguire) 2014]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]bull Categorical [not burned burned not burned]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Sequential and Diverging Databull Sequential homogenous range
from a minimum to a maximum - Examples Land elevations ocean
depths bull Diverging can be deconstructed
into two sequences pointing in opposite directions - Has a zero point (not necessary 0) - Example Map of both land
elevation and ocean depth
16D Koop DSC 530 Spring 2016
[Rogowitz amp Treinish 1998]
lar structure of spirals allows for an easy detection of cyclesand for the comparison of periodic data sets Furthermorethe continuity of the data is expressed by using a spiral in-stead of a circle
31 Mathematical description and types of spirals
A spiral is easy to describe and understand in polar coor-dinates ie in the form The distinctive feature ofa spiral is that f is a monotone function In this work we as-sume a spiral is described by
Several simple functions f lead to well-known types ofspirals bull Archimedeslsquo spiral has the form It has the spe-
cial property that a ray emanating from the origincrosses two consecutive arcs of the spiral in a constantdistance
bull The Hyperbolic spiral has the form It is theinverse of Archimedeslsquo spiral with respect to the origin
bull More generally spirals of the form are calledArchimedean spirals
bull The logarithmic spiral has the form It has thespecial property that all arcs cut a ray emanating fromthe origin under the same angleFor the visualization of time-dependent data Archimedeslsquo
spiral seems to be the most appropriate In most applicationsdata from different periods are equally important Thisshould be reflected visually in that the distance to other peri-ods is always the same
32 Mapping data to the spiral
In general markers bars and line elements can be usedto visualize time-series data similar to standard point barand line graphs on Spiral Graphs For instance quantitativediscrete data can be presented as bars on the spiral or bymarks with a corresponding distance to the spiral Howeversince the x and y coordinate are needed to achieve the generalform of the spiral their use is limited for the display of datavalues One might consider to map data values to small ab-solute changes in the radius ie
Yet we have found this way of visualizing to be ineffec-tive We conclude that the general shape of the spiral shouldbe untouched and other attributes should be used such asbull colourbull texture including line styles and patterns
Figure 1Two visualizations of sunshine intensity using about the same screen real estate and thesame color coding scheme In the spiral visualization it is much easier to compare days to spotcloudy time periods or to see events like sunrise and sunset
r f ϕ( )=
r f ϕ( ) dfdϕ------ 0 ϕ R+isingt=
r aϕ=
2πar a ϕfrasl=
r aϕk=
r aekϕ=
r aϕ bv ϕ( ) b πamax v ϕ( )( )---------------------------lt+=
Cyclic Data
17D Koop DSC 530 Spring 2016
[Sunlight intensity Weber et al 2001]
Semanticsbull The type of data does not tell us what the data means or how it
should be interpreted bull Tables have keysvalues fields have independentdependent vars
18D Koop DSC 530 Spring 2016
Attribute SemanticsKeys vs Values (Tables) or Independent vs Dependent (Fields)
Flat
Multidimensional
Tabl
es
Fiel
ds
[Munzner (ill Maguire) 2014]
Assignment 1bull httpwwwcisumassdedu
~dkoopdsc530assignment1html bull HTML CSS SVG and JavaScript bull Part 3 will likely take significantly
more time than the other parts bull Turn in a1html (and a1css a1js)
via myCourses bull Due Friday February 12 1159pm bull Late Policy
19D Koop DSC 530 Spring 2016
Part 3 New Bedford Average Temperature by Month (2015)
Assignment 1 Notesbull Grading will be done via Chrome v48 bull For Part 3a you do not need to use all of the functions I list just
avoid loops bull Other Questions
20D Koop DSC 530 Spring 2016
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
21D Koop DSC 530 Spring 2016
Tasksbull Why Understand data but what do I want to do with it bull Levels High (ProduceConsume) Mid (Search) Low (Queries) bull Another key concern Who
- Designer lt-gt User (A spectrum) - Complex lt-gt Easy to Use - General lt-gt Context-Specific - Flexible lt-gt Constrained - Varied Data lt-gt Specific Data
22D Koop DSC 530 Spring 2016
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Fieldattribute
itemcell
Tables
7D Koop DSC 530 Spring 2016
0
0
0
0
0
0
00
5
5
5
5
5
5
55
10
10
10
10
10
10
1010
15
15
15
15
15
15
1515
20
20
20
20
20
20
2020
25
25
25
25
25
25
2525
30
30
30
30
30
30
3030
35
35
35
35
35
35
3535
40
40
40
40
40
40
4040
45
45
45
45
45
45
4545
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)economy (mpg)
30
30
30
30
30
30
3030
35
35
35
35
35
35
3535
40
40
40
40
40
40
4040
45
45
45
45
45
45
4545
50
50
50
50
50
50
5050
55
55
55
55
55
55
5555
60
60
60
60
60
60
6060
65
65
65
65
65
65
6565
70
70
70
70
70
70
7070
75
75
75
75
75
75
7575
80
80
80
80
80
80
8080cylinders
cylinders
cylinders
cylinders
cylinders
cylinders
cylinderscylinders
100
100
100
100
100
100
100100
150
150
150
150
150
150
150150
200
200
200
200
200
200
200200
250
250
250
250
250
250
250250
300
300
300
300
300
300
300300
350
350
350
350
350
350
350350
400
400
400
400
400
400
400400
450
450
450
450
450
450
450450
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)displacement (cc)
0
0
0
0
0
0
00
20
20
20
20
20
20
2020
40
40
40
40
40
40
4040
60
60
60
60
60
60
6060
80
80
80
80
80
80
8080
100
100
100
100
100
100
100100
120
120
120
120
120
120
120120
140
140
140
140
140
140
140140
160
160
160
160
160
160
160160
180
180
180
180
180
180
180180
200
200
200
200
200
200
200200
220
220
220
220
220
220
220220
power (hp)
power (hp)
power (hp)
power (hp)
power (hp)
power (hp)
power (hp)power (hp)
2000
2000
2000
2000
2000
2000
20002000
2500
2500
2500
2500
2500
2500
25002500
3000
3000
3000
3000
3000
3000
30003000
3500
3500
3500
3500
3500
3500
35003500
4000
4000
4000
4000
4000
4000
40004000
4500
4500
4500
4500
4500
4500
45004500
5000
5000
5000
5000
5000
5000
50005000
weight (lb)
weight (lb)
weight (lb)
weight (lb)
weight (lb)
weight (lb)
weight (lb)weight (lb)
8
8
8
8
8
8
88
10
10
10
10
10
10
1010
12
12
12
12
12
12
1212
14
14
14
14
14
14
1414
16
16
16
16
16
16
1616
18
18
18
18
18
18
1818
20
20
20
20
20
20
2020
22
22
22
22
22
22
2222
24
24
24
24
24
24
2424
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)0-60 mph (s)
70
70
70
70
70
70
7070
71
71
71
71
71
71
7171
72
72
72
72
72
72
7272
73
73
73
73
73
73
7373
74
74
74
74
74
74
7474
75
75
75
75
75
75
7575
76
76
76
76
76
76
7676
77
77
77
77
77
77
7777
78
78
78
78
78
78
7878
79
79
79
79
79
79
7979
80
80
80
80
80
80
8080
81
81
81
81
81
81
8181
82
82
82
82
82
82
8282year
year
year
year
year
year
yearyear
Table Visualizations
8D Koop DSC 530 Spring 2016
[M Bostock 2011]
Networksbull Why networks instead of graphs bull Tables can represent networks
- Many-many relationships - Also can be stored as specific
graph databases or files
9D Koop DSC 530 Spring 2016
Danny Holten amp Jarke J van Wijk Force-Directed Edge Bundling for Graph Visualization
Figure 7 US airlines graph (235 nodes 2101 edges) (a) not bundled and bundled using (b) FDEB with inverse-linear model(c) GBEB and (d) FDEB with inverse-quadratic model
Figure 8 US migration graph (1715 nodes 9780 edges) (a) not bundled and bundled using (b) FDEB with inverse-linearmodel (c) GBEB and (d) FDEB with inverse-quadratic model The same migration flow is highlighted in each graph
Figure 9 A low amount of straightening provides an indication of the number of edges comprising a bundle by widening thebundle (a) s = 0 (b) s = 10 and (c) s = 40 If s is 0 color more clearly indicates the number of edges comprising a bundle
we generated use the rendering technique described in Sec-tion 41 To facilitate the comparison of migration flow inFigure 8 we use a similar rendering technique as the onethat Cui et al [CZQ08] used to generate Figure 8c
The airlines graph is comprised of 235 nodes and 2101edges It took 19 seconds to calculate the bundled airlinesgraphs (Figures 7b and 7d) using the calculation scheme pre-
sented in Section 33 The migration graph is comprised of1715 nodes and 9780 edges It took 80 seconds to calculatethe bundled migration graphs (Figures 8b and 8d) using thesame calculation scheme All measurements were performedon an Intel Core 2 Duo 266GHz PC running Windows XPwith 2GB of RAM and a GeForce 8800GT graphics cardOur prototype was implemented in Borland Delphi 7
c 2009 The Author(s)Journal compilation c 2009 The Eurographics Association and Blackwell Publishing Ltd
Networks
10D Koop DSC 530 Spring 2016
[Holten amp van Wijk 2009]
Fieldsbull Difference between continuous and discrete values bull Examples temperature pressure density bull Grids necessary to sample continuous data
bull Interpolation ldquohow to show values between the sampled points in ways that do not misleadrdquo
11D Koop DSC 530 Spring 2016
Grids (Meshes)bull Meshes combine positional information (geometry) with
topological information (connectivity)
bull Mesh type can differ substantial depending in the way mesh cells are formed
From Weiskopf Machiraju Moumlllercopy WeiskopfMachirajuMoumlller
Data Structures
bull Grid typesndash Grids differ substantially in the cells (basic
building blocks) they are constructed from and in the way the topological information is given
scattered uniform rectilinear structured unstructured[Weiskopf Machiraju Moumlller]
Spatial Data Example MRI
12D Koop DSC 530 Spring 2016
[slide via Levine 2014]
Sets amp Lists
13D Koop DSC 530 Spring 2016
[Daniels httpexperimentsundercurrentcom]
Attribute Types
14D Koop DSC 530 Spring 2016
Attribute Types
Ordering Direction
Categorical Ordered
Ordinal Quantitative
Sequential Diverging Cyclic
[Munzner (ill Maguire) 2014]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]bull Categorical [not burned burned not burned]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Sequential and Diverging Databull Sequential homogenous range
from a minimum to a maximum - Examples Land elevations ocean
depths bull Diverging can be deconstructed
into two sequences pointing in opposite directions - Has a zero point (not necessary 0) - Example Map of both land
elevation and ocean depth
16D Koop DSC 530 Spring 2016
[Rogowitz amp Treinish 1998]
lar structure of spirals allows for an easy detection of cyclesand for the comparison of periodic data sets Furthermorethe continuity of the data is expressed by using a spiral in-stead of a circle
31 Mathematical description and types of spirals
A spiral is easy to describe and understand in polar coor-dinates ie in the form The distinctive feature ofa spiral is that f is a monotone function In this work we as-sume a spiral is described by
Several simple functions f lead to well-known types ofspirals bull Archimedeslsquo spiral has the form It has the spe-
cial property that a ray emanating from the origincrosses two consecutive arcs of the spiral in a constantdistance
bull The Hyperbolic spiral has the form It is theinverse of Archimedeslsquo spiral with respect to the origin
bull More generally spirals of the form are calledArchimedean spirals
bull The logarithmic spiral has the form It has thespecial property that all arcs cut a ray emanating fromthe origin under the same angleFor the visualization of time-dependent data Archimedeslsquo
spiral seems to be the most appropriate In most applicationsdata from different periods are equally important Thisshould be reflected visually in that the distance to other peri-ods is always the same
32 Mapping data to the spiral
In general markers bars and line elements can be usedto visualize time-series data similar to standard point barand line graphs on Spiral Graphs For instance quantitativediscrete data can be presented as bars on the spiral or bymarks with a corresponding distance to the spiral Howeversince the x and y coordinate are needed to achieve the generalform of the spiral their use is limited for the display of datavalues One might consider to map data values to small ab-solute changes in the radius ie
Yet we have found this way of visualizing to be ineffec-tive We conclude that the general shape of the spiral shouldbe untouched and other attributes should be used such asbull colourbull texture including line styles and patterns
Figure 1Two visualizations of sunshine intensity using about the same screen real estate and thesame color coding scheme In the spiral visualization it is much easier to compare days to spotcloudy time periods or to see events like sunrise and sunset
r f ϕ( )=
r f ϕ( ) dfdϕ------ 0 ϕ R+isingt=
r aϕ=
2πar a ϕfrasl=
r aϕk=
r aekϕ=
r aϕ bv ϕ( ) b πamax v ϕ( )( )---------------------------lt+=
Cyclic Data
17D Koop DSC 530 Spring 2016
[Sunlight intensity Weber et al 2001]
Semanticsbull The type of data does not tell us what the data means or how it
should be interpreted bull Tables have keysvalues fields have independentdependent vars
18D Koop DSC 530 Spring 2016
Attribute SemanticsKeys vs Values (Tables) or Independent vs Dependent (Fields)
Flat
Multidimensional
Tabl
es
Fiel
ds
[Munzner (ill Maguire) 2014]
Assignment 1bull httpwwwcisumassdedu
~dkoopdsc530assignment1html bull HTML CSS SVG and JavaScript bull Part 3 will likely take significantly
more time than the other parts bull Turn in a1html (and a1css a1js)
via myCourses bull Due Friday February 12 1159pm bull Late Policy
19D Koop DSC 530 Spring 2016
Part 3 New Bedford Average Temperature by Month (2015)
Assignment 1 Notesbull Grading will be done via Chrome v48 bull For Part 3a you do not need to use all of the functions I list just
avoid loops bull Other Questions
20D Koop DSC 530 Spring 2016
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
21D Koop DSC 530 Spring 2016
Tasksbull Why Understand data but what do I want to do with it bull Levels High (ProduceConsume) Mid (Search) Low (Queries) bull Another key concern Who
- Designer lt-gt User (A spectrum) - Complex lt-gt Easy to Use - General lt-gt Context-Specific - Flexible lt-gt Constrained - Varied Data lt-gt Specific Data
22D Koop DSC 530 Spring 2016
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
0
0
0
0
0
0
00
5
5
5
5
5
5
55
10
10
10
10
10
10
1010
15
15
15
15
15
15
1515
20
20
20
20
20
20
2020
25
25
25
25
25
25
2525
30
30
30
30
30
30
3030
35
35
35
35
35
35
3535
40
40
40
40
40
40
4040
45
45
45
45
45
45
4545
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)
economy (mpg)economy (mpg)
30
30
30
30
30
30
3030
35
35
35
35
35
35
3535
40
40
40
40
40
40
4040
45
45
45
45
45
45
4545
50
50
50
50
50
50
5050
55
55
55
55
55
55
5555
60
60
60
60
60
60
6060
65
65
65
65
65
65
6565
70
70
70
70
70
70
7070
75
75
75
75
75
75
7575
80
80
80
80
80
80
8080cylinders
cylinders
cylinders
cylinders
cylinders
cylinders
cylinderscylinders
100
100
100
100
100
100
100100
150
150
150
150
150
150
150150
200
200
200
200
200
200
200200
250
250
250
250
250
250
250250
300
300
300
300
300
300
300300
350
350
350
350
350
350
350350
400
400
400
400
400
400
400400
450
450
450
450
450
450
450450
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)
displacement (cc)displacement (cc)
0
0
0
0
0
0
00
20
20
20
20
20
20
2020
40
40
40
40
40
40
4040
60
60
60
60
60
60
6060
80
80
80
80
80
80
8080
100
100
100
100
100
100
100100
120
120
120
120
120
120
120120
140
140
140
140
140
140
140140
160
160
160
160
160
160
160160
180
180
180
180
180
180
180180
200
200
200
200
200
200
200200
220
220
220
220
220
220
220220
power (hp)
power (hp)
power (hp)
power (hp)
power (hp)
power (hp)
power (hp)power (hp)
2000
2000
2000
2000
2000
2000
20002000
2500
2500
2500
2500
2500
2500
25002500
3000
3000
3000
3000
3000
3000
30003000
3500
3500
3500
3500
3500
3500
35003500
4000
4000
4000
4000
4000
4000
40004000
4500
4500
4500
4500
4500
4500
45004500
5000
5000
5000
5000
5000
5000
50005000
weight (lb)
weight (lb)
weight (lb)
weight (lb)
weight (lb)
weight (lb)
weight (lb)weight (lb)
8
8
8
8
8
8
88
10
10
10
10
10
10
1010
12
12
12
12
12
12
1212
14
14
14
14
14
14
1414
16
16
16
16
16
16
1616
18
18
18
18
18
18
1818
20
20
20
20
20
20
2020
22
22
22
22
22
22
2222
24
24
24
24
24
24
2424
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)
0-60 mph (s)0-60 mph (s)
70
70
70
70
70
70
7070
71
71
71
71
71
71
7171
72
72
72
72
72
72
7272
73
73
73
73
73
73
7373
74
74
74
74
74
74
7474
75
75
75
75
75
75
7575
76
76
76
76
76
76
7676
77
77
77
77
77
77
7777
78
78
78
78
78
78
7878
79
79
79
79
79
79
7979
80
80
80
80
80
80
8080
81
81
81
81
81
81
8181
82
82
82
82
82
82
8282year
year
year
year
year
year
yearyear
Table Visualizations
8D Koop DSC 530 Spring 2016
[M Bostock 2011]
Networksbull Why networks instead of graphs bull Tables can represent networks
- Many-many relationships - Also can be stored as specific
graph databases or files
9D Koop DSC 530 Spring 2016
Danny Holten amp Jarke J van Wijk Force-Directed Edge Bundling for Graph Visualization
Figure 7 US airlines graph (235 nodes 2101 edges) (a) not bundled and bundled using (b) FDEB with inverse-linear model(c) GBEB and (d) FDEB with inverse-quadratic model
Figure 8 US migration graph (1715 nodes 9780 edges) (a) not bundled and bundled using (b) FDEB with inverse-linearmodel (c) GBEB and (d) FDEB with inverse-quadratic model The same migration flow is highlighted in each graph
Figure 9 A low amount of straightening provides an indication of the number of edges comprising a bundle by widening thebundle (a) s = 0 (b) s = 10 and (c) s = 40 If s is 0 color more clearly indicates the number of edges comprising a bundle
we generated use the rendering technique described in Sec-tion 41 To facilitate the comparison of migration flow inFigure 8 we use a similar rendering technique as the onethat Cui et al [CZQ08] used to generate Figure 8c
The airlines graph is comprised of 235 nodes and 2101edges It took 19 seconds to calculate the bundled airlinesgraphs (Figures 7b and 7d) using the calculation scheme pre-
sented in Section 33 The migration graph is comprised of1715 nodes and 9780 edges It took 80 seconds to calculatethe bundled migration graphs (Figures 8b and 8d) using thesame calculation scheme All measurements were performedon an Intel Core 2 Duo 266GHz PC running Windows XPwith 2GB of RAM and a GeForce 8800GT graphics cardOur prototype was implemented in Borland Delphi 7
c 2009 The Author(s)Journal compilation c 2009 The Eurographics Association and Blackwell Publishing Ltd
Networks
10D Koop DSC 530 Spring 2016
[Holten amp van Wijk 2009]
Fieldsbull Difference between continuous and discrete values bull Examples temperature pressure density bull Grids necessary to sample continuous data
bull Interpolation ldquohow to show values between the sampled points in ways that do not misleadrdquo
11D Koop DSC 530 Spring 2016
Grids (Meshes)bull Meshes combine positional information (geometry) with
topological information (connectivity)
bull Mesh type can differ substantial depending in the way mesh cells are formed
From Weiskopf Machiraju Moumlllercopy WeiskopfMachirajuMoumlller
Data Structures
bull Grid typesndash Grids differ substantially in the cells (basic
building blocks) they are constructed from and in the way the topological information is given
scattered uniform rectilinear structured unstructured[Weiskopf Machiraju Moumlller]
Spatial Data Example MRI
12D Koop DSC 530 Spring 2016
[slide via Levine 2014]
Sets amp Lists
13D Koop DSC 530 Spring 2016
[Daniels httpexperimentsundercurrentcom]
Attribute Types
14D Koop DSC 530 Spring 2016
Attribute Types
Ordering Direction
Categorical Ordered
Ordinal Quantitative
Sequential Diverging Cyclic
[Munzner (ill Maguire) 2014]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]bull Categorical [not burned burned not burned]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Sequential and Diverging Databull Sequential homogenous range
from a minimum to a maximum - Examples Land elevations ocean
depths bull Diverging can be deconstructed
into two sequences pointing in opposite directions - Has a zero point (not necessary 0) - Example Map of both land
elevation and ocean depth
16D Koop DSC 530 Spring 2016
[Rogowitz amp Treinish 1998]
lar structure of spirals allows for an easy detection of cyclesand for the comparison of periodic data sets Furthermorethe continuity of the data is expressed by using a spiral in-stead of a circle
31 Mathematical description and types of spirals
A spiral is easy to describe and understand in polar coor-dinates ie in the form The distinctive feature ofa spiral is that f is a monotone function In this work we as-sume a spiral is described by
Several simple functions f lead to well-known types ofspirals bull Archimedeslsquo spiral has the form It has the spe-
cial property that a ray emanating from the origincrosses two consecutive arcs of the spiral in a constantdistance
bull The Hyperbolic spiral has the form It is theinverse of Archimedeslsquo spiral with respect to the origin
bull More generally spirals of the form are calledArchimedean spirals
bull The logarithmic spiral has the form It has thespecial property that all arcs cut a ray emanating fromthe origin under the same angleFor the visualization of time-dependent data Archimedeslsquo
spiral seems to be the most appropriate In most applicationsdata from different periods are equally important Thisshould be reflected visually in that the distance to other peri-ods is always the same
32 Mapping data to the spiral
In general markers bars and line elements can be usedto visualize time-series data similar to standard point barand line graphs on Spiral Graphs For instance quantitativediscrete data can be presented as bars on the spiral or bymarks with a corresponding distance to the spiral Howeversince the x and y coordinate are needed to achieve the generalform of the spiral their use is limited for the display of datavalues One might consider to map data values to small ab-solute changes in the radius ie
Yet we have found this way of visualizing to be ineffec-tive We conclude that the general shape of the spiral shouldbe untouched and other attributes should be used such asbull colourbull texture including line styles and patterns
Figure 1Two visualizations of sunshine intensity using about the same screen real estate and thesame color coding scheme In the spiral visualization it is much easier to compare days to spotcloudy time periods or to see events like sunrise and sunset
r f ϕ( )=
r f ϕ( ) dfdϕ------ 0 ϕ R+isingt=
r aϕ=
2πar a ϕfrasl=
r aϕk=
r aekϕ=
r aϕ bv ϕ( ) b πamax v ϕ( )( )---------------------------lt+=
Cyclic Data
17D Koop DSC 530 Spring 2016
[Sunlight intensity Weber et al 2001]
Semanticsbull The type of data does not tell us what the data means or how it
should be interpreted bull Tables have keysvalues fields have independentdependent vars
18D Koop DSC 530 Spring 2016
Attribute SemanticsKeys vs Values (Tables) or Independent vs Dependent (Fields)
Flat
Multidimensional
Tabl
es
Fiel
ds
[Munzner (ill Maguire) 2014]
Assignment 1bull httpwwwcisumassdedu
~dkoopdsc530assignment1html bull HTML CSS SVG and JavaScript bull Part 3 will likely take significantly
more time than the other parts bull Turn in a1html (and a1css a1js)
via myCourses bull Due Friday February 12 1159pm bull Late Policy
19D Koop DSC 530 Spring 2016
Part 3 New Bedford Average Temperature by Month (2015)
Assignment 1 Notesbull Grading will be done via Chrome v48 bull For Part 3a you do not need to use all of the functions I list just
avoid loops bull Other Questions
20D Koop DSC 530 Spring 2016
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
21D Koop DSC 530 Spring 2016
Tasksbull Why Understand data but what do I want to do with it bull Levels High (ProduceConsume) Mid (Search) Low (Queries) bull Another key concern Who
- Designer lt-gt User (A spectrum) - Complex lt-gt Easy to Use - General lt-gt Context-Specific - Flexible lt-gt Constrained - Varied Data lt-gt Specific Data
22D Koop DSC 530 Spring 2016
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Networksbull Why networks instead of graphs bull Tables can represent networks
- Many-many relationships - Also can be stored as specific
graph databases or files
9D Koop DSC 530 Spring 2016
Danny Holten amp Jarke J van Wijk Force-Directed Edge Bundling for Graph Visualization
Figure 7 US airlines graph (235 nodes 2101 edges) (a) not bundled and bundled using (b) FDEB with inverse-linear model(c) GBEB and (d) FDEB with inverse-quadratic model
Figure 8 US migration graph (1715 nodes 9780 edges) (a) not bundled and bundled using (b) FDEB with inverse-linearmodel (c) GBEB and (d) FDEB with inverse-quadratic model The same migration flow is highlighted in each graph
Figure 9 A low amount of straightening provides an indication of the number of edges comprising a bundle by widening thebundle (a) s = 0 (b) s = 10 and (c) s = 40 If s is 0 color more clearly indicates the number of edges comprising a bundle
we generated use the rendering technique described in Sec-tion 41 To facilitate the comparison of migration flow inFigure 8 we use a similar rendering technique as the onethat Cui et al [CZQ08] used to generate Figure 8c
The airlines graph is comprised of 235 nodes and 2101edges It took 19 seconds to calculate the bundled airlinesgraphs (Figures 7b and 7d) using the calculation scheme pre-
sented in Section 33 The migration graph is comprised of1715 nodes and 9780 edges It took 80 seconds to calculatethe bundled migration graphs (Figures 8b and 8d) using thesame calculation scheme All measurements were performedon an Intel Core 2 Duo 266GHz PC running Windows XPwith 2GB of RAM and a GeForce 8800GT graphics cardOur prototype was implemented in Borland Delphi 7
c 2009 The Author(s)Journal compilation c 2009 The Eurographics Association and Blackwell Publishing Ltd
Networks
10D Koop DSC 530 Spring 2016
[Holten amp van Wijk 2009]
Fieldsbull Difference between continuous and discrete values bull Examples temperature pressure density bull Grids necessary to sample continuous data
bull Interpolation ldquohow to show values between the sampled points in ways that do not misleadrdquo
11D Koop DSC 530 Spring 2016
Grids (Meshes)bull Meshes combine positional information (geometry) with
topological information (connectivity)
bull Mesh type can differ substantial depending in the way mesh cells are formed
From Weiskopf Machiraju Moumlllercopy WeiskopfMachirajuMoumlller
Data Structures
bull Grid typesndash Grids differ substantially in the cells (basic
building blocks) they are constructed from and in the way the topological information is given
scattered uniform rectilinear structured unstructured[Weiskopf Machiraju Moumlller]
Spatial Data Example MRI
12D Koop DSC 530 Spring 2016
[slide via Levine 2014]
Sets amp Lists
13D Koop DSC 530 Spring 2016
[Daniels httpexperimentsundercurrentcom]
Attribute Types
14D Koop DSC 530 Spring 2016
Attribute Types
Ordering Direction
Categorical Ordered
Ordinal Quantitative
Sequential Diverging Cyclic
[Munzner (ill Maguire) 2014]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]bull Categorical [not burned burned not burned]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Sequential and Diverging Databull Sequential homogenous range
from a minimum to a maximum - Examples Land elevations ocean
depths bull Diverging can be deconstructed
into two sequences pointing in opposite directions - Has a zero point (not necessary 0) - Example Map of both land
elevation and ocean depth
16D Koop DSC 530 Spring 2016
[Rogowitz amp Treinish 1998]
lar structure of spirals allows for an easy detection of cyclesand for the comparison of periodic data sets Furthermorethe continuity of the data is expressed by using a spiral in-stead of a circle
31 Mathematical description and types of spirals
A spiral is easy to describe and understand in polar coor-dinates ie in the form The distinctive feature ofa spiral is that f is a monotone function In this work we as-sume a spiral is described by
Several simple functions f lead to well-known types ofspirals bull Archimedeslsquo spiral has the form It has the spe-
cial property that a ray emanating from the origincrosses two consecutive arcs of the spiral in a constantdistance
bull The Hyperbolic spiral has the form It is theinverse of Archimedeslsquo spiral with respect to the origin
bull More generally spirals of the form are calledArchimedean spirals
bull The logarithmic spiral has the form It has thespecial property that all arcs cut a ray emanating fromthe origin under the same angleFor the visualization of time-dependent data Archimedeslsquo
spiral seems to be the most appropriate In most applicationsdata from different periods are equally important Thisshould be reflected visually in that the distance to other peri-ods is always the same
32 Mapping data to the spiral
In general markers bars and line elements can be usedto visualize time-series data similar to standard point barand line graphs on Spiral Graphs For instance quantitativediscrete data can be presented as bars on the spiral or bymarks with a corresponding distance to the spiral Howeversince the x and y coordinate are needed to achieve the generalform of the spiral their use is limited for the display of datavalues One might consider to map data values to small ab-solute changes in the radius ie
Yet we have found this way of visualizing to be ineffec-tive We conclude that the general shape of the spiral shouldbe untouched and other attributes should be used such asbull colourbull texture including line styles and patterns
Figure 1Two visualizations of sunshine intensity using about the same screen real estate and thesame color coding scheme In the spiral visualization it is much easier to compare days to spotcloudy time periods or to see events like sunrise and sunset
r f ϕ( )=
r f ϕ( ) dfdϕ------ 0 ϕ R+isingt=
r aϕ=
2πar a ϕfrasl=
r aϕk=
r aekϕ=
r aϕ bv ϕ( ) b πamax v ϕ( )( )---------------------------lt+=
Cyclic Data
17D Koop DSC 530 Spring 2016
[Sunlight intensity Weber et al 2001]
Semanticsbull The type of data does not tell us what the data means or how it
should be interpreted bull Tables have keysvalues fields have independentdependent vars
18D Koop DSC 530 Spring 2016
Attribute SemanticsKeys vs Values (Tables) or Independent vs Dependent (Fields)
Flat
Multidimensional
Tabl
es
Fiel
ds
[Munzner (ill Maguire) 2014]
Assignment 1bull httpwwwcisumassdedu
~dkoopdsc530assignment1html bull HTML CSS SVG and JavaScript bull Part 3 will likely take significantly
more time than the other parts bull Turn in a1html (and a1css a1js)
via myCourses bull Due Friday February 12 1159pm bull Late Policy
19D Koop DSC 530 Spring 2016
Part 3 New Bedford Average Temperature by Month (2015)
Assignment 1 Notesbull Grading will be done via Chrome v48 bull For Part 3a you do not need to use all of the functions I list just
avoid loops bull Other Questions
20D Koop DSC 530 Spring 2016
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
21D Koop DSC 530 Spring 2016
Tasksbull Why Understand data but what do I want to do with it bull Levels High (ProduceConsume) Mid (Search) Low (Queries) bull Another key concern Who
- Designer lt-gt User (A spectrum) - Complex lt-gt Easy to Use - General lt-gt Context-Specific - Flexible lt-gt Constrained - Varied Data lt-gt Specific Data
22D Koop DSC 530 Spring 2016
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Danny Holten amp Jarke J van Wijk Force-Directed Edge Bundling for Graph Visualization
Figure 7 US airlines graph (235 nodes 2101 edges) (a) not bundled and bundled using (b) FDEB with inverse-linear model(c) GBEB and (d) FDEB with inverse-quadratic model
Figure 8 US migration graph (1715 nodes 9780 edges) (a) not bundled and bundled using (b) FDEB with inverse-linearmodel (c) GBEB and (d) FDEB with inverse-quadratic model The same migration flow is highlighted in each graph
Figure 9 A low amount of straightening provides an indication of the number of edges comprising a bundle by widening thebundle (a) s = 0 (b) s = 10 and (c) s = 40 If s is 0 color more clearly indicates the number of edges comprising a bundle
we generated use the rendering technique described in Sec-tion 41 To facilitate the comparison of migration flow inFigure 8 we use a similar rendering technique as the onethat Cui et al [CZQ08] used to generate Figure 8c
The airlines graph is comprised of 235 nodes and 2101edges It took 19 seconds to calculate the bundled airlinesgraphs (Figures 7b and 7d) using the calculation scheme pre-
sented in Section 33 The migration graph is comprised of1715 nodes and 9780 edges It took 80 seconds to calculatethe bundled migration graphs (Figures 8b and 8d) using thesame calculation scheme All measurements were performedon an Intel Core 2 Duo 266GHz PC running Windows XPwith 2GB of RAM and a GeForce 8800GT graphics cardOur prototype was implemented in Borland Delphi 7
c 2009 The Author(s)Journal compilation c 2009 The Eurographics Association and Blackwell Publishing Ltd
Networks
10D Koop DSC 530 Spring 2016
[Holten amp van Wijk 2009]
Fieldsbull Difference between continuous and discrete values bull Examples temperature pressure density bull Grids necessary to sample continuous data
bull Interpolation ldquohow to show values between the sampled points in ways that do not misleadrdquo
11D Koop DSC 530 Spring 2016
Grids (Meshes)bull Meshes combine positional information (geometry) with
topological information (connectivity)
bull Mesh type can differ substantial depending in the way mesh cells are formed
From Weiskopf Machiraju Moumlllercopy WeiskopfMachirajuMoumlller
Data Structures
bull Grid typesndash Grids differ substantially in the cells (basic
building blocks) they are constructed from and in the way the topological information is given
scattered uniform rectilinear structured unstructured[Weiskopf Machiraju Moumlller]
Spatial Data Example MRI
12D Koop DSC 530 Spring 2016
[slide via Levine 2014]
Sets amp Lists
13D Koop DSC 530 Spring 2016
[Daniels httpexperimentsundercurrentcom]
Attribute Types
14D Koop DSC 530 Spring 2016
Attribute Types
Ordering Direction
Categorical Ordered
Ordinal Quantitative
Sequential Diverging Cyclic
[Munzner (ill Maguire) 2014]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]bull Categorical [not burned burned not burned]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Sequential and Diverging Databull Sequential homogenous range
from a minimum to a maximum - Examples Land elevations ocean
depths bull Diverging can be deconstructed
into two sequences pointing in opposite directions - Has a zero point (not necessary 0) - Example Map of both land
elevation and ocean depth
16D Koop DSC 530 Spring 2016
[Rogowitz amp Treinish 1998]
lar structure of spirals allows for an easy detection of cyclesand for the comparison of periodic data sets Furthermorethe continuity of the data is expressed by using a spiral in-stead of a circle
31 Mathematical description and types of spirals
A spiral is easy to describe and understand in polar coor-dinates ie in the form The distinctive feature ofa spiral is that f is a monotone function In this work we as-sume a spiral is described by
Several simple functions f lead to well-known types ofspirals bull Archimedeslsquo spiral has the form It has the spe-
cial property that a ray emanating from the origincrosses two consecutive arcs of the spiral in a constantdistance
bull The Hyperbolic spiral has the form It is theinverse of Archimedeslsquo spiral with respect to the origin
bull More generally spirals of the form are calledArchimedean spirals
bull The logarithmic spiral has the form It has thespecial property that all arcs cut a ray emanating fromthe origin under the same angleFor the visualization of time-dependent data Archimedeslsquo
spiral seems to be the most appropriate In most applicationsdata from different periods are equally important Thisshould be reflected visually in that the distance to other peri-ods is always the same
32 Mapping data to the spiral
In general markers bars and line elements can be usedto visualize time-series data similar to standard point barand line graphs on Spiral Graphs For instance quantitativediscrete data can be presented as bars on the spiral or bymarks with a corresponding distance to the spiral Howeversince the x and y coordinate are needed to achieve the generalform of the spiral their use is limited for the display of datavalues One might consider to map data values to small ab-solute changes in the radius ie
Yet we have found this way of visualizing to be ineffec-tive We conclude that the general shape of the spiral shouldbe untouched and other attributes should be used such asbull colourbull texture including line styles and patterns
Figure 1Two visualizations of sunshine intensity using about the same screen real estate and thesame color coding scheme In the spiral visualization it is much easier to compare days to spotcloudy time periods or to see events like sunrise and sunset
r f ϕ( )=
r f ϕ( ) dfdϕ------ 0 ϕ R+isingt=
r aϕ=
2πar a ϕfrasl=
r aϕk=
r aekϕ=
r aϕ bv ϕ( ) b πamax v ϕ( )( )---------------------------lt+=
Cyclic Data
17D Koop DSC 530 Spring 2016
[Sunlight intensity Weber et al 2001]
Semanticsbull The type of data does not tell us what the data means or how it
should be interpreted bull Tables have keysvalues fields have independentdependent vars
18D Koop DSC 530 Spring 2016
Attribute SemanticsKeys vs Values (Tables) or Independent vs Dependent (Fields)
Flat
Multidimensional
Tabl
es
Fiel
ds
[Munzner (ill Maguire) 2014]
Assignment 1bull httpwwwcisumassdedu
~dkoopdsc530assignment1html bull HTML CSS SVG and JavaScript bull Part 3 will likely take significantly
more time than the other parts bull Turn in a1html (and a1css a1js)
via myCourses bull Due Friday February 12 1159pm bull Late Policy
19D Koop DSC 530 Spring 2016
Part 3 New Bedford Average Temperature by Month (2015)
Assignment 1 Notesbull Grading will be done via Chrome v48 bull For Part 3a you do not need to use all of the functions I list just
avoid loops bull Other Questions
20D Koop DSC 530 Spring 2016
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
21D Koop DSC 530 Spring 2016
Tasksbull Why Understand data but what do I want to do with it bull Levels High (ProduceConsume) Mid (Search) Low (Queries) bull Another key concern Who
- Designer lt-gt User (A spectrum) - Complex lt-gt Easy to Use - General lt-gt Context-Specific - Flexible lt-gt Constrained - Varied Data lt-gt Specific Data
22D Koop DSC 530 Spring 2016
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Fieldsbull Difference between continuous and discrete values bull Examples temperature pressure density bull Grids necessary to sample continuous data
bull Interpolation ldquohow to show values between the sampled points in ways that do not misleadrdquo
11D Koop DSC 530 Spring 2016
Grids (Meshes)bull Meshes combine positional information (geometry) with
topological information (connectivity)
bull Mesh type can differ substantial depending in the way mesh cells are formed
From Weiskopf Machiraju Moumlllercopy WeiskopfMachirajuMoumlller
Data Structures
bull Grid typesndash Grids differ substantially in the cells (basic
building blocks) they are constructed from and in the way the topological information is given
scattered uniform rectilinear structured unstructured[Weiskopf Machiraju Moumlller]
Spatial Data Example MRI
12D Koop DSC 530 Spring 2016
[slide via Levine 2014]
Sets amp Lists
13D Koop DSC 530 Spring 2016
[Daniels httpexperimentsundercurrentcom]
Attribute Types
14D Koop DSC 530 Spring 2016
Attribute Types
Ordering Direction
Categorical Ordered
Ordinal Quantitative
Sequential Diverging Cyclic
[Munzner (ill Maguire) 2014]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]bull Categorical [not burned burned not burned]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Sequential and Diverging Databull Sequential homogenous range
from a minimum to a maximum - Examples Land elevations ocean
depths bull Diverging can be deconstructed
into two sequences pointing in opposite directions - Has a zero point (not necessary 0) - Example Map of both land
elevation and ocean depth
16D Koop DSC 530 Spring 2016
[Rogowitz amp Treinish 1998]
lar structure of spirals allows for an easy detection of cyclesand for the comparison of periodic data sets Furthermorethe continuity of the data is expressed by using a spiral in-stead of a circle
31 Mathematical description and types of spirals
A spiral is easy to describe and understand in polar coor-dinates ie in the form The distinctive feature ofa spiral is that f is a monotone function In this work we as-sume a spiral is described by
Several simple functions f lead to well-known types ofspirals bull Archimedeslsquo spiral has the form It has the spe-
cial property that a ray emanating from the origincrosses two consecutive arcs of the spiral in a constantdistance
bull The Hyperbolic spiral has the form It is theinverse of Archimedeslsquo spiral with respect to the origin
bull More generally spirals of the form are calledArchimedean spirals
bull The logarithmic spiral has the form It has thespecial property that all arcs cut a ray emanating fromthe origin under the same angleFor the visualization of time-dependent data Archimedeslsquo
spiral seems to be the most appropriate In most applicationsdata from different periods are equally important Thisshould be reflected visually in that the distance to other peri-ods is always the same
32 Mapping data to the spiral
In general markers bars and line elements can be usedto visualize time-series data similar to standard point barand line graphs on Spiral Graphs For instance quantitativediscrete data can be presented as bars on the spiral or bymarks with a corresponding distance to the spiral Howeversince the x and y coordinate are needed to achieve the generalform of the spiral their use is limited for the display of datavalues One might consider to map data values to small ab-solute changes in the radius ie
Yet we have found this way of visualizing to be ineffec-tive We conclude that the general shape of the spiral shouldbe untouched and other attributes should be used such asbull colourbull texture including line styles and patterns
Figure 1Two visualizations of sunshine intensity using about the same screen real estate and thesame color coding scheme In the spiral visualization it is much easier to compare days to spotcloudy time periods or to see events like sunrise and sunset
r f ϕ( )=
r f ϕ( ) dfdϕ------ 0 ϕ R+isingt=
r aϕ=
2πar a ϕfrasl=
r aϕk=
r aekϕ=
r aϕ bv ϕ( ) b πamax v ϕ( )( )---------------------------lt+=
Cyclic Data
17D Koop DSC 530 Spring 2016
[Sunlight intensity Weber et al 2001]
Semanticsbull The type of data does not tell us what the data means or how it
should be interpreted bull Tables have keysvalues fields have independentdependent vars
18D Koop DSC 530 Spring 2016
Attribute SemanticsKeys vs Values (Tables) or Independent vs Dependent (Fields)
Flat
Multidimensional
Tabl
es
Fiel
ds
[Munzner (ill Maguire) 2014]
Assignment 1bull httpwwwcisumassdedu
~dkoopdsc530assignment1html bull HTML CSS SVG and JavaScript bull Part 3 will likely take significantly
more time than the other parts bull Turn in a1html (and a1css a1js)
via myCourses bull Due Friday February 12 1159pm bull Late Policy
19D Koop DSC 530 Spring 2016
Part 3 New Bedford Average Temperature by Month (2015)
Assignment 1 Notesbull Grading will be done via Chrome v48 bull For Part 3a you do not need to use all of the functions I list just
avoid loops bull Other Questions
20D Koop DSC 530 Spring 2016
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
21D Koop DSC 530 Spring 2016
Tasksbull Why Understand data but what do I want to do with it bull Levels High (ProduceConsume) Mid (Search) Low (Queries) bull Another key concern Who
- Designer lt-gt User (A spectrum) - Complex lt-gt Easy to Use - General lt-gt Context-Specific - Flexible lt-gt Constrained - Varied Data lt-gt Specific Data
22D Koop DSC 530 Spring 2016
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Spatial Data Example MRI
12D Koop DSC 530 Spring 2016
[slide via Levine 2014]
Sets amp Lists
13D Koop DSC 530 Spring 2016
[Daniels httpexperimentsundercurrentcom]
Attribute Types
14D Koop DSC 530 Spring 2016
Attribute Types
Ordering Direction
Categorical Ordered
Ordinal Quantitative
Sequential Diverging Cyclic
[Munzner (ill Maguire) 2014]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]bull Categorical [not burned burned not burned]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Sequential and Diverging Databull Sequential homogenous range
from a minimum to a maximum - Examples Land elevations ocean
depths bull Diverging can be deconstructed
into two sequences pointing in opposite directions - Has a zero point (not necessary 0) - Example Map of both land
elevation and ocean depth
16D Koop DSC 530 Spring 2016
[Rogowitz amp Treinish 1998]
lar structure of spirals allows for an easy detection of cyclesand for the comparison of periodic data sets Furthermorethe continuity of the data is expressed by using a spiral in-stead of a circle
31 Mathematical description and types of spirals
A spiral is easy to describe and understand in polar coor-dinates ie in the form The distinctive feature ofa spiral is that f is a monotone function In this work we as-sume a spiral is described by
Several simple functions f lead to well-known types ofspirals bull Archimedeslsquo spiral has the form It has the spe-
cial property that a ray emanating from the origincrosses two consecutive arcs of the spiral in a constantdistance
bull The Hyperbolic spiral has the form It is theinverse of Archimedeslsquo spiral with respect to the origin
bull More generally spirals of the form are calledArchimedean spirals
bull The logarithmic spiral has the form It has thespecial property that all arcs cut a ray emanating fromthe origin under the same angleFor the visualization of time-dependent data Archimedeslsquo
spiral seems to be the most appropriate In most applicationsdata from different periods are equally important Thisshould be reflected visually in that the distance to other peri-ods is always the same
32 Mapping data to the spiral
In general markers bars and line elements can be usedto visualize time-series data similar to standard point barand line graphs on Spiral Graphs For instance quantitativediscrete data can be presented as bars on the spiral or bymarks with a corresponding distance to the spiral Howeversince the x and y coordinate are needed to achieve the generalform of the spiral their use is limited for the display of datavalues One might consider to map data values to small ab-solute changes in the radius ie
Yet we have found this way of visualizing to be ineffec-tive We conclude that the general shape of the spiral shouldbe untouched and other attributes should be used such asbull colourbull texture including line styles and patterns
Figure 1Two visualizations of sunshine intensity using about the same screen real estate and thesame color coding scheme In the spiral visualization it is much easier to compare days to spotcloudy time periods or to see events like sunrise and sunset
r f ϕ( )=
r f ϕ( ) dfdϕ------ 0 ϕ R+isingt=
r aϕ=
2πar a ϕfrasl=
r aϕk=
r aekϕ=
r aϕ bv ϕ( ) b πamax v ϕ( )( )---------------------------lt+=
Cyclic Data
17D Koop DSC 530 Spring 2016
[Sunlight intensity Weber et al 2001]
Semanticsbull The type of data does not tell us what the data means or how it
should be interpreted bull Tables have keysvalues fields have independentdependent vars
18D Koop DSC 530 Spring 2016
Attribute SemanticsKeys vs Values (Tables) or Independent vs Dependent (Fields)
Flat
Multidimensional
Tabl
es
Fiel
ds
[Munzner (ill Maguire) 2014]
Assignment 1bull httpwwwcisumassdedu
~dkoopdsc530assignment1html bull HTML CSS SVG and JavaScript bull Part 3 will likely take significantly
more time than the other parts bull Turn in a1html (and a1css a1js)
via myCourses bull Due Friday February 12 1159pm bull Late Policy
19D Koop DSC 530 Spring 2016
Part 3 New Bedford Average Temperature by Month (2015)
Assignment 1 Notesbull Grading will be done via Chrome v48 bull For Part 3a you do not need to use all of the functions I list just
avoid loops bull Other Questions
20D Koop DSC 530 Spring 2016
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
21D Koop DSC 530 Spring 2016
Tasksbull Why Understand data but what do I want to do with it bull Levels High (ProduceConsume) Mid (Search) Low (Queries) bull Another key concern Who
- Designer lt-gt User (A spectrum) - Complex lt-gt Easy to Use - General lt-gt Context-Specific - Flexible lt-gt Constrained - Varied Data lt-gt Specific Data
22D Koop DSC 530 Spring 2016
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Sets amp Lists
13D Koop DSC 530 Spring 2016
[Daniels httpexperimentsundercurrentcom]
Attribute Types
14D Koop DSC 530 Spring 2016
Attribute Types
Ordering Direction
Categorical Ordered
Ordinal Quantitative
Sequential Diverging Cyclic
[Munzner (ill Maguire) 2014]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]bull Categorical [not burned burned not burned]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Sequential and Diverging Databull Sequential homogenous range
from a minimum to a maximum - Examples Land elevations ocean
depths bull Diverging can be deconstructed
into two sequences pointing in opposite directions - Has a zero point (not necessary 0) - Example Map of both land
elevation and ocean depth
16D Koop DSC 530 Spring 2016
[Rogowitz amp Treinish 1998]
lar structure of spirals allows for an easy detection of cyclesand for the comparison of periodic data sets Furthermorethe continuity of the data is expressed by using a spiral in-stead of a circle
31 Mathematical description and types of spirals
A spiral is easy to describe and understand in polar coor-dinates ie in the form The distinctive feature ofa spiral is that f is a monotone function In this work we as-sume a spiral is described by
Several simple functions f lead to well-known types ofspirals bull Archimedeslsquo spiral has the form It has the spe-
cial property that a ray emanating from the origincrosses two consecutive arcs of the spiral in a constantdistance
bull The Hyperbolic spiral has the form It is theinverse of Archimedeslsquo spiral with respect to the origin
bull More generally spirals of the form are calledArchimedean spirals
bull The logarithmic spiral has the form It has thespecial property that all arcs cut a ray emanating fromthe origin under the same angleFor the visualization of time-dependent data Archimedeslsquo
spiral seems to be the most appropriate In most applicationsdata from different periods are equally important Thisshould be reflected visually in that the distance to other peri-ods is always the same
32 Mapping data to the spiral
In general markers bars and line elements can be usedto visualize time-series data similar to standard point barand line graphs on Spiral Graphs For instance quantitativediscrete data can be presented as bars on the spiral or bymarks with a corresponding distance to the spiral Howeversince the x and y coordinate are needed to achieve the generalform of the spiral their use is limited for the display of datavalues One might consider to map data values to small ab-solute changes in the radius ie
Yet we have found this way of visualizing to be ineffec-tive We conclude that the general shape of the spiral shouldbe untouched and other attributes should be used such asbull colourbull texture including line styles and patterns
Figure 1Two visualizations of sunshine intensity using about the same screen real estate and thesame color coding scheme In the spiral visualization it is much easier to compare days to spotcloudy time periods or to see events like sunrise and sunset
r f ϕ( )=
r f ϕ( ) dfdϕ------ 0 ϕ R+isingt=
r aϕ=
2πar a ϕfrasl=
r aϕk=
r aekϕ=
r aϕ bv ϕ( ) b πamax v ϕ( )( )---------------------------lt+=
Cyclic Data
17D Koop DSC 530 Spring 2016
[Sunlight intensity Weber et al 2001]
Semanticsbull The type of data does not tell us what the data means or how it
should be interpreted bull Tables have keysvalues fields have independentdependent vars
18D Koop DSC 530 Spring 2016
Attribute SemanticsKeys vs Values (Tables) or Independent vs Dependent (Fields)
Flat
Multidimensional
Tabl
es
Fiel
ds
[Munzner (ill Maguire) 2014]
Assignment 1bull httpwwwcisumassdedu
~dkoopdsc530assignment1html bull HTML CSS SVG and JavaScript bull Part 3 will likely take significantly
more time than the other parts bull Turn in a1html (and a1css a1js)
via myCourses bull Due Friday February 12 1159pm bull Late Policy
19D Koop DSC 530 Spring 2016
Part 3 New Bedford Average Temperature by Month (2015)
Assignment 1 Notesbull Grading will be done via Chrome v48 bull For Part 3a you do not need to use all of the functions I list just
avoid loops bull Other Questions
20D Koop DSC 530 Spring 2016
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
21D Koop DSC 530 Spring 2016
Tasksbull Why Understand data but what do I want to do with it bull Levels High (ProduceConsume) Mid (Search) Low (Queries) bull Another key concern Who
- Designer lt-gt User (A spectrum) - Complex lt-gt Easy to Use - General lt-gt Context-Specific - Flexible lt-gt Constrained - Varied Data lt-gt Specific Data
22D Koop DSC 530 Spring 2016
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Attribute Types
14D Koop DSC 530 Spring 2016
Attribute Types
Ordering Direction
Categorical Ordered
Ordinal Quantitative
Sequential Diverging Cyclic
[Munzner (ill Maguire) 2014]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]bull Categorical [not burned burned not burned]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Sequential and Diverging Databull Sequential homogenous range
from a minimum to a maximum - Examples Land elevations ocean
depths bull Diverging can be deconstructed
into two sequences pointing in opposite directions - Has a zero point (not necessary 0) - Example Map of both land
elevation and ocean depth
16D Koop DSC 530 Spring 2016
[Rogowitz amp Treinish 1998]
lar structure of spirals allows for an easy detection of cyclesand for the comparison of periodic data sets Furthermorethe continuity of the data is expressed by using a spiral in-stead of a circle
31 Mathematical description and types of spirals
A spiral is easy to describe and understand in polar coor-dinates ie in the form The distinctive feature ofa spiral is that f is a monotone function In this work we as-sume a spiral is described by
Several simple functions f lead to well-known types ofspirals bull Archimedeslsquo spiral has the form It has the spe-
cial property that a ray emanating from the origincrosses two consecutive arcs of the spiral in a constantdistance
bull The Hyperbolic spiral has the form It is theinverse of Archimedeslsquo spiral with respect to the origin
bull More generally spirals of the form are calledArchimedean spirals
bull The logarithmic spiral has the form It has thespecial property that all arcs cut a ray emanating fromthe origin under the same angleFor the visualization of time-dependent data Archimedeslsquo
spiral seems to be the most appropriate In most applicationsdata from different periods are equally important Thisshould be reflected visually in that the distance to other peri-ods is always the same
32 Mapping data to the spiral
In general markers bars and line elements can be usedto visualize time-series data similar to standard point barand line graphs on Spiral Graphs For instance quantitativediscrete data can be presented as bars on the spiral or bymarks with a corresponding distance to the spiral Howeversince the x and y coordinate are needed to achieve the generalform of the spiral their use is limited for the display of datavalues One might consider to map data values to small ab-solute changes in the radius ie
Yet we have found this way of visualizing to be ineffec-tive We conclude that the general shape of the spiral shouldbe untouched and other attributes should be used such asbull colourbull texture including line styles and patterns
Figure 1Two visualizations of sunshine intensity using about the same screen real estate and thesame color coding scheme In the spiral visualization it is much easier to compare days to spotcloudy time periods or to see events like sunrise and sunset
r f ϕ( )=
r f ϕ( ) dfdϕ------ 0 ϕ R+isingt=
r aϕ=
2πar a ϕfrasl=
r aϕk=
r aekϕ=
r aϕ bv ϕ( ) b πamax v ϕ( )( )---------------------------lt+=
Cyclic Data
17D Koop DSC 530 Spring 2016
[Sunlight intensity Weber et al 2001]
Semanticsbull The type of data does not tell us what the data means or how it
should be interpreted bull Tables have keysvalues fields have independentdependent vars
18D Koop DSC 530 Spring 2016
Attribute SemanticsKeys vs Values (Tables) or Independent vs Dependent (Fields)
Flat
Multidimensional
Tabl
es
Fiel
ds
[Munzner (ill Maguire) 2014]
Assignment 1bull httpwwwcisumassdedu
~dkoopdsc530assignment1html bull HTML CSS SVG and JavaScript bull Part 3 will likely take significantly
more time than the other parts bull Turn in a1html (and a1css a1js)
via myCourses bull Due Friday February 12 1159pm bull Late Policy
19D Koop DSC 530 Spring 2016
Part 3 New Bedford Average Temperature by Month (2015)
Assignment 1 Notesbull Grading will be done via Chrome v48 bull For Part 3a you do not need to use all of the functions I list just
avoid loops bull Other Questions
20D Koop DSC 530 Spring 2016
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
21D Koop DSC 530 Spring 2016
Tasksbull Why Understand data but what do I want to do with it bull Levels High (ProduceConsume) Mid (Search) Low (Queries) bull Another key concern Who
- Designer lt-gt User (A spectrum) - Complex lt-gt Easy to Use - General lt-gt Context-Specific - Flexible lt-gt Constrained - Varied Data lt-gt Specific Data
22D Koop DSC 530 Spring 2016
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]bull Categorical [not burned burned not burned]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Sequential and Diverging Databull Sequential homogenous range
from a minimum to a maximum - Examples Land elevations ocean
depths bull Diverging can be deconstructed
into two sequences pointing in opposite directions - Has a zero point (not necessary 0) - Example Map of both land
elevation and ocean depth
16D Koop DSC 530 Spring 2016
[Rogowitz amp Treinish 1998]
lar structure of spirals allows for an easy detection of cyclesand for the comparison of periodic data sets Furthermorethe continuity of the data is expressed by using a spiral in-stead of a circle
31 Mathematical description and types of spirals
A spiral is easy to describe and understand in polar coor-dinates ie in the form The distinctive feature ofa spiral is that f is a monotone function In this work we as-sume a spiral is described by
Several simple functions f lead to well-known types ofspirals bull Archimedeslsquo spiral has the form It has the spe-
cial property that a ray emanating from the origincrosses two consecutive arcs of the spiral in a constantdistance
bull The Hyperbolic spiral has the form It is theinverse of Archimedeslsquo spiral with respect to the origin
bull More generally spirals of the form are calledArchimedean spirals
bull The logarithmic spiral has the form It has thespecial property that all arcs cut a ray emanating fromthe origin under the same angleFor the visualization of time-dependent data Archimedeslsquo
spiral seems to be the most appropriate In most applicationsdata from different periods are equally important Thisshould be reflected visually in that the distance to other peri-ods is always the same
32 Mapping data to the spiral
In general markers bars and line elements can be usedto visualize time-series data similar to standard point barand line graphs on Spiral Graphs For instance quantitativediscrete data can be presented as bars on the spiral or bymarks with a corresponding distance to the spiral Howeversince the x and y coordinate are needed to achieve the generalform of the spiral their use is limited for the display of datavalues One might consider to map data values to small ab-solute changes in the radius ie
Yet we have found this way of visualizing to be ineffec-tive We conclude that the general shape of the spiral shouldbe untouched and other attributes should be used such asbull colourbull texture including line styles and patterns
Figure 1Two visualizations of sunshine intensity using about the same screen real estate and thesame color coding scheme In the spiral visualization it is much easier to compare days to spotcloudy time periods or to see events like sunrise and sunset
r f ϕ( )=
r f ϕ( ) dfdϕ------ 0 ϕ R+isingt=
r aϕ=
2πar a ϕfrasl=
r aϕk=
r aekϕ=
r aϕ bv ϕ( ) b πamax v ϕ( )( )---------------------------lt+=
Cyclic Data
17D Koop DSC 530 Spring 2016
[Sunlight intensity Weber et al 2001]
Semanticsbull The type of data does not tell us what the data means or how it
should be interpreted bull Tables have keysvalues fields have independentdependent vars
18D Koop DSC 530 Spring 2016
Attribute SemanticsKeys vs Values (Tables) or Independent vs Dependent (Fields)
Flat
Multidimensional
Tabl
es
Fiel
ds
[Munzner (ill Maguire) 2014]
Assignment 1bull httpwwwcisumassdedu
~dkoopdsc530assignment1html bull HTML CSS SVG and JavaScript bull Part 3 will likely take significantly
more time than the other parts bull Turn in a1html (and a1css a1js)
via myCourses bull Due Friday February 12 1159pm bull Late Policy
19D Koop DSC 530 Spring 2016
Part 3 New Bedford Average Temperature by Month (2015)
Assignment 1 Notesbull Grading will be done via Chrome v48 bull For Part 3a you do not need to use all of the functions I list just
avoid loops bull Other Questions
20D Koop DSC 530 Spring 2016
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
21D Koop DSC 530 Spring 2016
Tasksbull Why Understand data but what do I want to do with it bull Levels High (ProduceConsume) Mid (Search) Low (Queries) bull Another key concern Who
- Designer lt-gt User (A spectrum) - Complex lt-gt Easy to Use - General lt-gt Context-Specific - Flexible lt-gt Constrained - Varied Data lt-gt Specific Data
22D Koop DSC 530 Spring 2016
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]bull Categorical [not burned burned not burned]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Sequential and Diverging Databull Sequential homogenous range
from a minimum to a maximum - Examples Land elevations ocean
depths bull Diverging can be deconstructed
into two sequences pointing in opposite directions - Has a zero point (not necessary 0) - Example Map of both land
elevation and ocean depth
16D Koop DSC 530 Spring 2016
[Rogowitz amp Treinish 1998]
lar structure of spirals allows for an easy detection of cyclesand for the comparison of periodic data sets Furthermorethe continuity of the data is expressed by using a spiral in-stead of a circle
31 Mathematical description and types of spirals
A spiral is easy to describe and understand in polar coor-dinates ie in the form The distinctive feature ofa spiral is that f is a monotone function In this work we as-sume a spiral is described by
Several simple functions f lead to well-known types ofspirals bull Archimedeslsquo spiral has the form It has the spe-
cial property that a ray emanating from the origincrosses two consecutive arcs of the spiral in a constantdistance
bull The Hyperbolic spiral has the form It is theinverse of Archimedeslsquo spiral with respect to the origin
bull More generally spirals of the form are calledArchimedean spirals
bull The logarithmic spiral has the form It has thespecial property that all arcs cut a ray emanating fromthe origin under the same angleFor the visualization of time-dependent data Archimedeslsquo
spiral seems to be the most appropriate In most applicationsdata from different periods are equally important Thisshould be reflected visually in that the distance to other peri-ods is always the same
32 Mapping data to the spiral
In general markers bars and line elements can be usedto visualize time-series data similar to standard point barand line graphs on Spiral Graphs For instance quantitativediscrete data can be presented as bars on the spiral or bymarks with a corresponding distance to the spiral Howeversince the x and y coordinate are needed to achieve the generalform of the spiral their use is limited for the display of datavalues One might consider to map data values to small ab-solute changes in the radius ie
Yet we have found this way of visualizing to be ineffec-tive We conclude that the general shape of the spiral shouldbe untouched and other attributes should be used such asbull colourbull texture including line styles and patterns
Figure 1Two visualizations of sunshine intensity using about the same screen real estate and thesame color coding scheme In the spiral visualization it is much easier to compare days to spotcloudy time periods or to see events like sunrise and sunset
r f ϕ( )=
r f ϕ( ) dfdϕ------ 0 ϕ R+isingt=
r aϕ=
2πar a ϕfrasl=
r aϕk=
r aekϕ=
r aϕ bv ϕ( ) b πamax v ϕ( )( )---------------------------lt+=
Cyclic Data
17D Koop DSC 530 Spring 2016
[Sunlight intensity Weber et al 2001]
Semanticsbull The type of data does not tell us what the data means or how it
should be interpreted bull Tables have keysvalues fields have independentdependent vars
18D Koop DSC 530 Spring 2016
Attribute SemanticsKeys vs Values (Tables) or Independent vs Dependent (Fields)
Flat
Multidimensional
Tabl
es
Fiel
ds
[Munzner (ill Maguire) 2014]
Assignment 1bull httpwwwcisumassdedu
~dkoopdsc530assignment1html bull HTML CSS SVG and JavaScript bull Part 3 will likely take significantly
more time than the other parts bull Turn in a1html (and a1css a1js)
via myCourses bull Due Friday February 12 1159pm bull Late Policy
19D Koop DSC 530 Spring 2016
Part 3 New Bedford Average Temperature by Month (2015)
Assignment 1 Notesbull Grading will be done via Chrome v48 bull For Part 3a you do not need to use all of the functions I list just
avoid loops bull Other Questions
20D Koop DSC 530 Spring 2016
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
21D Koop DSC 530 Spring 2016
Tasksbull Why Understand data but what do I want to do with it bull Levels High (ProduceConsume) Mid (Search) Low (Queries) bull Another key concern Who
- Designer lt-gt User (A spectrum) - Complex lt-gt Easy to Use - General lt-gt Context-Specific - Flexible lt-gt Constrained - Varied Data lt-gt Specific Data
22D Koop DSC 530 Spring 2016
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Data Model vs Conceptual Modelbull Data Model raw data that has a specific data type (eg floats)
- Temperature Example [325 540 -173] (floats)bull Conceptual Model how we think about the data
- Includes semantics reasoning- Temperature Example
bull Quantitative [3250 5400 -1730]bull Ordered [warm hot cold]bull Categorical [not burned burned not burned]
15D Koop DSC 530 Spring 2016
[via A Lex 2015]
Sequential and Diverging Databull Sequential homogenous range
from a minimum to a maximum - Examples Land elevations ocean
depths bull Diverging can be deconstructed
into two sequences pointing in opposite directions - Has a zero point (not necessary 0) - Example Map of both land
elevation and ocean depth
16D Koop DSC 530 Spring 2016
[Rogowitz amp Treinish 1998]
lar structure of spirals allows for an easy detection of cyclesand for the comparison of periodic data sets Furthermorethe continuity of the data is expressed by using a spiral in-stead of a circle
31 Mathematical description and types of spirals
A spiral is easy to describe and understand in polar coor-dinates ie in the form The distinctive feature ofa spiral is that f is a monotone function In this work we as-sume a spiral is described by
Several simple functions f lead to well-known types ofspirals bull Archimedeslsquo spiral has the form It has the spe-
cial property that a ray emanating from the origincrosses two consecutive arcs of the spiral in a constantdistance
bull The Hyperbolic spiral has the form It is theinverse of Archimedeslsquo spiral with respect to the origin
bull More generally spirals of the form are calledArchimedean spirals
bull The logarithmic spiral has the form It has thespecial property that all arcs cut a ray emanating fromthe origin under the same angleFor the visualization of time-dependent data Archimedeslsquo
spiral seems to be the most appropriate In most applicationsdata from different periods are equally important Thisshould be reflected visually in that the distance to other peri-ods is always the same
32 Mapping data to the spiral
In general markers bars and line elements can be usedto visualize time-series data similar to standard point barand line graphs on Spiral Graphs For instance quantitativediscrete data can be presented as bars on the spiral or bymarks with a corresponding distance to the spiral Howeversince the x and y coordinate are needed to achieve the generalform of the spiral their use is limited for the display of datavalues One might consider to map data values to small ab-solute changes in the radius ie
Yet we have found this way of visualizing to be ineffec-tive We conclude that the general shape of the spiral shouldbe untouched and other attributes should be used such asbull colourbull texture including line styles and patterns
Figure 1Two visualizations of sunshine intensity using about the same screen real estate and thesame color coding scheme In the spiral visualization it is much easier to compare days to spotcloudy time periods or to see events like sunrise and sunset
r f ϕ( )=
r f ϕ( ) dfdϕ------ 0 ϕ R+isingt=
r aϕ=
2πar a ϕfrasl=
r aϕk=
r aekϕ=
r aϕ bv ϕ( ) b πamax v ϕ( )( )---------------------------lt+=
Cyclic Data
17D Koop DSC 530 Spring 2016
[Sunlight intensity Weber et al 2001]
Semanticsbull The type of data does not tell us what the data means or how it
should be interpreted bull Tables have keysvalues fields have independentdependent vars
18D Koop DSC 530 Spring 2016
Attribute SemanticsKeys vs Values (Tables) or Independent vs Dependent (Fields)
Flat
Multidimensional
Tabl
es
Fiel
ds
[Munzner (ill Maguire) 2014]
Assignment 1bull httpwwwcisumassdedu
~dkoopdsc530assignment1html bull HTML CSS SVG and JavaScript bull Part 3 will likely take significantly
more time than the other parts bull Turn in a1html (and a1css a1js)
via myCourses bull Due Friday February 12 1159pm bull Late Policy
19D Koop DSC 530 Spring 2016
Part 3 New Bedford Average Temperature by Month (2015)
Assignment 1 Notesbull Grading will be done via Chrome v48 bull For Part 3a you do not need to use all of the functions I list just
avoid loops bull Other Questions
20D Koop DSC 530 Spring 2016
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
21D Koop DSC 530 Spring 2016
Tasksbull Why Understand data but what do I want to do with it bull Levels High (ProduceConsume) Mid (Search) Low (Queries) bull Another key concern Who
- Designer lt-gt User (A spectrum) - Complex lt-gt Easy to Use - General lt-gt Context-Specific - Flexible lt-gt Constrained - Varied Data lt-gt Specific Data
22D Koop DSC 530 Spring 2016
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Sequential and Diverging Databull Sequential homogenous range
from a minimum to a maximum - Examples Land elevations ocean
depths bull Diverging can be deconstructed
into two sequences pointing in opposite directions - Has a zero point (not necessary 0) - Example Map of both land
elevation and ocean depth
16D Koop DSC 530 Spring 2016
[Rogowitz amp Treinish 1998]
lar structure of spirals allows for an easy detection of cyclesand for the comparison of periodic data sets Furthermorethe continuity of the data is expressed by using a spiral in-stead of a circle
31 Mathematical description and types of spirals
A spiral is easy to describe and understand in polar coor-dinates ie in the form The distinctive feature ofa spiral is that f is a monotone function In this work we as-sume a spiral is described by
Several simple functions f lead to well-known types ofspirals bull Archimedeslsquo spiral has the form It has the spe-
cial property that a ray emanating from the origincrosses two consecutive arcs of the spiral in a constantdistance
bull The Hyperbolic spiral has the form It is theinverse of Archimedeslsquo spiral with respect to the origin
bull More generally spirals of the form are calledArchimedean spirals
bull The logarithmic spiral has the form It has thespecial property that all arcs cut a ray emanating fromthe origin under the same angleFor the visualization of time-dependent data Archimedeslsquo
spiral seems to be the most appropriate In most applicationsdata from different periods are equally important Thisshould be reflected visually in that the distance to other peri-ods is always the same
32 Mapping data to the spiral
In general markers bars and line elements can be usedto visualize time-series data similar to standard point barand line graphs on Spiral Graphs For instance quantitativediscrete data can be presented as bars on the spiral or bymarks with a corresponding distance to the spiral Howeversince the x and y coordinate are needed to achieve the generalform of the spiral their use is limited for the display of datavalues One might consider to map data values to small ab-solute changes in the radius ie
Yet we have found this way of visualizing to be ineffec-tive We conclude that the general shape of the spiral shouldbe untouched and other attributes should be used such asbull colourbull texture including line styles and patterns
Figure 1Two visualizations of sunshine intensity using about the same screen real estate and thesame color coding scheme In the spiral visualization it is much easier to compare days to spotcloudy time periods or to see events like sunrise and sunset
r f ϕ( )=
r f ϕ( ) dfdϕ------ 0 ϕ R+isingt=
r aϕ=
2πar a ϕfrasl=
r aϕk=
r aekϕ=
r aϕ bv ϕ( ) b πamax v ϕ( )( )---------------------------lt+=
Cyclic Data
17D Koop DSC 530 Spring 2016
[Sunlight intensity Weber et al 2001]
Semanticsbull The type of data does not tell us what the data means or how it
should be interpreted bull Tables have keysvalues fields have independentdependent vars
18D Koop DSC 530 Spring 2016
Attribute SemanticsKeys vs Values (Tables) or Independent vs Dependent (Fields)
Flat
Multidimensional
Tabl
es
Fiel
ds
[Munzner (ill Maguire) 2014]
Assignment 1bull httpwwwcisumassdedu
~dkoopdsc530assignment1html bull HTML CSS SVG and JavaScript bull Part 3 will likely take significantly
more time than the other parts bull Turn in a1html (and a1css a1js)
via myCourses bull Due Friday February 12 1159pm bull Late Policy
19D Koop DSC 530 Spring 2016
Part 3 New Bedford Average Temperature by Month (2015)
Assignment 1 Notesbull Grading will be done via Chrome v48 bull For Part 3a you do not need to use all of the functions I list just
avoid loops bull Other Questions
20D Koop DSC 530 Spring 2016
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
21D Koop DSC 530 Spring 2016
Tasksbull Why Understand data but what do I want to do with it bull Levels High (ProduceConsume) Mid (Search) Low (Queries) bull Another key concern Who
- Designer lt-gt User (A spectrum) - Complex lt-gt Easy to Use - General lt-gt Context-Specific - Flexible lt-gt Constrained - Varied Data lt-gt Specific Data
22D Koop DSC 530 Spring 2016
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
lar structure of spirals allows for an easy detection of cyclesand for the comparison of periodic data sets Furthermorethe continuity of the data is expressed by using a spiral in-stead of a circle
31 Mathematical description and types of spirals
A spiral is easy to describe and understand in polar coor-dinates ie in the form The distinctive feature ofa spiral is that f is a monotone function In this work we as-sume a spiral is described by
Several simple functions f lead to well-known types ofspirals bull Archimedeslsquo spiral has the form It has the spe-
cial property that a ray emanating from the origincrosses two consecutive arcs of the spiral in a constantdistance
bull The Hyperbolic spiral has the form It is theinverse of Archimedeslsquo spiral with respect to the origin
bull More generally spirals of the form are calledArchimedean spirals
bull The logarithmic spiral has the form It has thespecial property that all arcs cut a ray emanating fromthe origin under the same angleFor the visualization of time-dependent data Archimedeslsquo
spiral seems to be the most appropriate In most applicationsdata from different periods are equally important Thisshould be reflected visually in that the distance to other peri-ods is always the same
32 Mapping data to the spiral
In general markers bars and line elements can be usedto visualize time-series data similar to standard point barand line graphs on Spiral Graphs For instance quantitativediscrete data can be presented as bars on the spiral or bymarks with a corresponding distance to the spiral Howeversince the x and y coordinate are needed to achieve the generalform of the spiral their use is limited for the display of datavalues One might consider to map data values to small ab-solute changes in the radius ie
Yet we have found this way of visualizing to be ineffec-tive We conclude that the general shape of the spiral shouldbe untouched and other attributes should be used such asbull colourbull texture including line styles and patterns
Figure 1Two visualizations of sunshine intensity using about the same screen real estate and thesame color coding scheme In the spiral visualization it is much easier to compare days to spotcloudy time periods or to see events like sunrise and sunset
r f ϕ( )=
r f ϕ( ) dfdϕ------ 0 ϕ R+isingt=
r aϕ=
2πar a ϕfrasl=
r aϕk=
r aekϕ=
r aϕ bv ϕ( ) b πamax v ϕ( )( )---------------------------lt+=
Cyclic Data
17D Koop DSC 530 Spring 2016
[Sunlight intensity Weber et al 2001]
Semanticsbull The type of data does not tell us what the data means or how it
should be interpreted bull Tables have keysvalues fields have independentdependent vars
18D Koop DSC 530 Spring 2016
Attribute SemanticsKeys vs Values (Tables) or Independent vs Dependent (Fields)
Flat
Multidimensional
Tabl
es
Fiel
ds
[Munzner (ill Maguire) 2014]
Assignment 1bull httpwwwcisumassdedu
~dkoopdsc530assignment1html bull HTML CSS SVG and JavaScript bull Part 3 will likely take significantly
more time than the other parts bull Turn in a1html (and a1css a1js)
via myCourses bull Due Friday February 12 1159pm bull Late Policy
19D Koop DSC 530 Spring 2016
Part 3 New Bedford Average Temperature by Month (2015)
Assignment 1 Notesbull Grading will be done via Chrome v48 bull For Part 3a you do not need to use all of the functions I list just
avoid loops bull Other Questions
20D Koop DSC 530 Spring 2016
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
21D Koop DSC 530 Spring 2016
Tasksbull Why Understand data but what do I want to do with it bull Levels High (ProduceConsume) Mid (Search) Low (Queries) bull Another key concern Who
- Designer lt-gt User (A spectrum) - Complex lt-gt Easy to Use - General lt-gt Context-Specific - Flexible lt-gt Constrained - Varied Data lt-gt Specific Data
22D Koop DSC 530 Spring 2016
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Semanticsbull The type of data does not tell us what the data means or how it
should be interpreted bull Tables have keysvalues fields have independentdependent vars
18D Koop DSC 530 Spring 2016
Attribute SemanticsKeys vs Values (Tables) or Independent vs Dependent (Fields)
Flat
Multidimensional
Tabl
es
Fiel
ds
[Munzner (ill Maguire) 2014]
Assignment 1bull httpwwwcisumassdedu
~dkoopdsc530assignment1html bull HTML CSS SVG and JavaScript bull Part 3 will likely take significantly
more time than the other parts bull Turn in a1html (and a1css a1js)
via myCourses bull Due Friday February 12 1159pm bull Late Policy
19D Koop DSC 530 Spring 2016
Part 3 New Bedford Average Temperature by Month (2015)
Assignment 1 Notesbull Grading will be done via Chrome v48 bull For Part 3a you do not need to use all of the functions I list just
avoid loops bull Other Questions
20D Koop DSC 530 Spring 2016
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
21D Koop DSC 530 Spring 2016
Tasksbull Why Understand data but what do I want to do with it bull Levels High (ProduceConsume) Mid (Search) Low (Queries) bull Another key concern Who
- Designer lt-gt User (A spectrum) - Complex lt-gt Easy to Use - General lt-gt Context-Specific - Flexible lt-gt Constrained - Varied Data lt-gt Specific Data
22D Koop DSC 530 Spring 2016
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Assignment 1bull httpwwwcisumassdedu
~dkoopdsc530assignment1html bull HTML CSS SVG and JavaScript bull Part 3 will likely take significantly
more time than the other parts bull Turn in a1html (and a1css a1js)
via myCourses bull Due Friday February 12 1159pm bull Late Policy
19D Koop DSC 530 Spring 2016
Part 3 New Bedford Average Temperature by Month (2015)
Assignment 1 Notesbull Grading will be done via Chrome v48 bull For Part 3a you do not need to use all of the functions I list just
avoid loops bull Other Questions
20D Koop DSC 530 Spring 2016
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
21D Koop DSC 530 Spring 2016
Tasksbull Why Understand data but what do I want to do with it bull Levels High (ProduceConsume) Mid (Search) Low (Queries) bull Another key concern Who
- Designer lt-gt User (A spectrum) - Complex lt-gt Easy to Use - General lt-gt Context-Specific - Flexible lt-gt Constrained - Varied Data lt-gt Specific Data
22D Koop DSC 530 Spring 2016
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Assignment 1 Notesbull Grading will be done via Chrome v48 bull For Part 3a you do not need to use all of the functions I list just
avoid loops bull Other Questions
20D Koop DSC 530 Spring 2016
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
21D Koop DSC 530 Spring 2016
Tasksbull Why Understand data but what do I want to do with it bull Levels High (ProduceConsume) Mid (Search) Low (Queries) bull Another key concern Who
- Designer lt-gt User (A spectrum) - Complex lt-gt Easy to Use - General lt-gt Context-Specific - Flexible lt-gt Constrained - Varied Data lt-gt Specific Data
22D Koop DSC 530 Spring 2016
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
21D Koop DSC 530 Spring 2016
Tasksbull Why Understand data but what do I want to do with it bull Levels High (ProduceConsume) Mid (Search) Low (Queries) bull Another key concern Who
- Designer lt-gt User (A spectrum) - Complex lt-gt Easy to Use - General lt-gt Context-Specific - Flexible lt-gt Constrained - Varied Data lt-gt Specific Data
22D Koop DSC 530 Spring 2016
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Tasksbull Why Understand data but what do I want to do with it bull Levels High (ProduceConsume) Mid (Search) Low (Queries) bull Another key concern Who
- Designer lt-gt User (A spectrum) - Complex lt-gt Easy to Use - General lt-gt Context-Specific - Flexible lt-gt Constrained - Varied Data lt-gt Specific Data
22D Koop DSC 530 Spring 2016
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Tasks
23D Koop DSC 530 Spring 2016
Trends
Actions
Analyze
Search
Query
Why
All Data
Outliers Features
Attributes
One ManyDistribution Dependency Correlation Similarity
Network Data
Spatial DataShape
Topology
Paths
Extremes
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
Identify Compare Summarize
tag
Target known Target unknown
Location knownLocation unknown
Lookup
Locate
Browse
Explore
Targets
Why
How
What
[Munzner (ill Maguire) 2014]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Actions Analyze
24D Koop DSC 530 Spring 2016
Analyze
ConsumePresent EnjoyDiscover
ProduceAnnotate Record Derive
tag
[Munzner (ill Maguire) 2014]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Visualization for Consumptionbull Discover new knowledge
- Generate new hypothesis or verify existing one - Designer doesnrsquot know what users need to see
bull Present known information - Presenter already knows what the data says - Wants to communicate this to an audience
bull Enjoy - Similar to discover but without concrete goals
25D Koop DSC 530 Spring 2016
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Name Voyager
26D Koop DSC 530 Spring 2016
[Wattenberg 2005 wwwbabynamewizardcom]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Visualization for Productionbull Generate new material bull Annotate
- Add more to a visualization - Usually associated with text but can be graphical
bull Record - Persist visualizations for historical record - Provenance (graphical histories) how did I get here
bull Derive (Transform) - Create new data - Create derived attributes (eg mathematical operations
aggregation)
27D Koop DSC 530 Spring 2016
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
MTA Fare Data Exploration
28D Koop DSC 530 Spring 2016
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Actions Search
bull What does a user know bull Lookup check bearings bull Locate find on a map bull Browse whatrsquos nearby bull Explore where to go (patterns)
29D Koop DSC 530 Spring 2016
Search
Target known Target unknown
Location known
Location unknown
Lookup
Locate
Browse
Explore
[Munzner (ill Maguire) 2014]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Query
bull Number of targets One Some (Often 2) or All bull Identify characteristics or references bull Compare similarities and differences bull Summarize overview of everything
30D Koop DSC 530 Spring 2016
Query
Identify Compare Summarize
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Targets
31D Koop DSC 530 Spring 2016
Trends
ALL DATA
Outliers Features
ATTRIBUTES
One ManyDistribution Dependency Correlation Similarity
Extremes
NETWORK DATA
SPATIAL DATA
Shape
Topology
Paths
[Munzner (ill Maguire) 2014]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Analysis Example Different ldquoIdiomsrdquo
32D Koop DSC 530 Spring 2016
[SpaceTree Grosjean et al] [TreeJuxtaposer Munzner et al]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
ldquoIdiomrdquo Comparison
33D Koop DSC 530 Spring 2016
[SpaceTree Supporting Exploration in Large Node Link Tree Design Evolution and Empirical Evaluation Grosjean Plaisant and Bederson Proc InfoVis 2002 p 57ndash64]
SpaceTree
[TreeJuxtaposer Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility ACM Trans on Graphics (Proc SIGGRAPH) 22453ndash 462 2003]
TreeJuxtaposer
Present Locate Identify
Path between two nodes
Actions
Targets
SpaceTree
TreeJuxtaposer
Encode Navigate Select Filter AggregateTree
Arrange
Why What How
Encode Navigate Select
[Munzner (ill Maguire) 2014]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Analysis Example Derivationbull Strahler number
ndash centrality metric for treesnetworks ndash derived quantitative attribute ndash draw top 5K of 500K for good skeleton
34D Koop DSC 530 Spring 2016
[Using Strahler numbers for real time visual exploration of huge graphs Auber Proc Intl Conf Computer Vision and Graphics pp 56ndash69 2002]
Task 1
58
54
64
84
24
74
6484
84
94
74
OutQuantitative attribute on nodes
58
54
64
84
24
74
6484
84
94
74
InQuantitative attribute on nodes
Task 2
Derive
WhyWhat
In Tree ReduceSummarize
HowWhyWhat
In Quantitative attribute on nodes TopologyIn Tree
Filter
InTree
OutFiltered TreeRemoved unimportant parts
InTree +
Out Quantitative attribute on nodes Out Filtered Tree
[Munzner (ill Maguire) 2014]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
ldquoComputer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectivelyrdquo
mdash T Munzner
35D Koop DSC 530 Spring 2016
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Design Iteration
36D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Design Iteration
37D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Design Iteration
38D Koop DSC 530 Spring 2016
httpchartsnthingstumblrcompost6267976658819-sketches-of-quarterback-timelines
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Designbull Unlike a math problem there are many different approaches for the
visualization of some data bull Need to have some way to discuss how to determine whether a
visualization is doing what we want bull Validation Understand why a design is effective
- What problems can be effective - Do this at different levels
39D Koop DSC 530 Spring 2016
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Four Nested Levels of Design
40D Koop DSC 530 Spring 2016
Datatask abstraction
Visual encodinginteraction idiom
Algorithm
Domain situation
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Potential problems at each level
41D Koop DSC 530 Spring 2016
Domain situationYou misunderstood their needs
Yoursquore showing them the wrong thing
Visual encodinginteraction idiomThe way you show it doesnrsquot work
AlgorithmYour code is too slow
Datatask abstraction
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Validation at each level
42D Koop DSC 530 Spring 2016
Threat Wrong problem
Threat Wrong taskdata abstraction
Threat Ineffective encodinginteraction idiom
Threat Slow algorithm
Validate Observe and interview target users
Validate Analyze computational complexity
Validate Measure system timememory
Validate Observe adoption rates
Validate Test on target users collect anecdotal evidence of utilityValidate Field study document human usage of deployed system
Validate Qualitativequantitative result image analysis
Validate Lab study measure human timeerrors for task
Validate Justify encodinginteraction design
Implement system
Test on any users informal usability study
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Visualization Design Principles
Slides from A Lex
D Koop DSC 530 Spring 2016
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]
Examples of Bad Design
44D Koop DSC 530 Spring 2016
[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]