Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016...

47
Data Visualization (DSC 530/CIS 602-01) Tasks & Design Dr. David Koop D. Koop, DSC 530, Spring 2016

Transcript of Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016...

Page 1: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 2: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 3: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 4: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 5: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 6: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 7: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 8: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 9: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 10: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 11: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 12: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 13: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 14: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 15: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 16: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 17: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 18: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 19: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 20: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 21: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 22: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 23: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 24: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 25: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 26: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 27: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 28: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 29: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 30: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 31: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 32: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 33: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 34: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 35: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 36: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 37: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 38: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 39: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 40: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 41: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 42: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 43: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 44: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 45: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 46: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

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]

Page 47: Data Visualization (DSC 530/CIS 602-01)dkoop/dsc530-2016sp/lectures/...D. Koop, DSC 530, Spring 2016 14 A ttribu te T ypes O rdering Dire c tion Ca tego rical O rde red O rdinal Q

Examples of Bad Design

44D Koop DSC 530 Spring 2016

[httpvisuallywhat-your-brand-color-says-about-your-business via wtfviz]