data visualization (cis 468)dkoop/cis468/lectures/lecture06.pdfd. koop, cis 468, fall 2018 danny...

42
Data Visualization (CIS 468) Tasks & D3 Dr. David Koop D. Koop, CIS 468, Fall 2018

Upload: others

Post on 17-Nov-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Data Visualization (CIS 468)

Tasks & D3

Dr. David Koop

D. Koop, CIS 468, Fall 2018

Page 2: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Data• What is this data?

• Semantics: real-world meaning of the data • Type: structural or mathematical interpretation • Both often require metadata

- Sometimes we can infer some of this information - Line between data and metadata isn’t always clear

• Example: 94023, 90210, 52790, 02747

�2D. Koop, CIS 468, Fall 2018

Page 3: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Dataset Types

�3

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]D. Koop, CIS 468, Fall 2018

Page 4: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Table Visualization

�4

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)

3.0

3.0

3.0

3.0

3.0

3.0

3.03.0

3.5

3.5

3.5

3.5

3.5

3.5

3.53.5

4.0

4.0

4.0

4.0

4.0

4.0

4.04.0

4.5

4.5

4.5

4.5

4.5

4.5

4.54.5

5.0

5.0

5.0

5.0

5.0

5.0

5.05.0

5.5

5.5

5.5

5.5

5.5

5.5

5.55.5

6.0

6.0

6.0

6.0

6.0

6.0

6.06.0

6.5

6.5

6.5

6.5

6.5

6.5

6.56.5

7.0

7.0

7.0

7.0

7.0

7.0

7.07.0

7.5

7.5

7.5

7.5

7.5

7.5

7.57.5

8.0

8.0

8.0

8.0

8.0

8.0

8.08.0cylinders

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)

2,000

2,000

2,000

2,000

2,000

2,000

2,0002,000

2,500

2,500

2,500

2,500

2,500

2,500

2,5002,500

3,000

3,000

3,000

3,000

3,000

3,000

3,0003,000

3,500

3,500

3,500

3,500

3,500

3,500

3,5003,500

4,000

4,000

4,000

4,000

4,000

4,000

4,0004,000

4,500

4,500

4,500

4,500

4,500

4,500

4,5004,500

5,000

5,000

5,000

5,000

5,000

5,000

5,0005,000

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

[M. Bostock, 2011]D. Koop, CIS 468, Fall 2018

Page 5: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Network Visualization

�5

[Holten & van Wijk, 2009]D. Koop, CIS 468, Fall 2018

Danny Holten & 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 4.1. To facilitate the comparison of migration flow inFigure 8, we use a similar rendering technique as the onethat Cui et al. [CZQ⇤08] 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 3.3. 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 2.66GHz PC running Windows XPwith 2GB of RAM and a GeForce 8800GT graphics card.Our prototype was implemented in Borland Delphi 7.

c� 2009 The Author(s)Journal compilation c� 2009 The Eurographics Association and Blackwell Publishing Ltd.

Page 6: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Attribute Types

�6

Attributes

Attribute Types

Ordering Direction

Categorical Ordered

Ordinal Quantitative

Sequential Diverging Cyclic

[Munzner (ill. Maguire), 2014]D. Koop, CIS 468, Fall 2018

Page 7: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Categorial, Ordinal, and Quantitative

�7

231 = Quantitative2 = Nominal3 = Ordinal

quantitative ordinal categorical

D. Koop, CIS 468, Fall 2018

Page 8: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Categorial, Ordinal, and Quantitative

�8

241 = Quantitative2 = Nominal3 = Ordinal

quantitative ordinal categorical

D. Koop, CIS 468, Fall 2018

Page 9: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Data Model vs. Conceptual Model• Data Model: raw data that has a specific data type (e.g. floats):

- Temperature Example: [32.5, 54.0, -17.3] (floats)• Conceptual Model: how we think about the data

- Includes semantics, reasoning- Temperature Example:

• Quantitative: [32.50, 54.00, -17.30]

�9

[via A. Lex, 2015]D. Koop, CIS 468, Fall 2018

Page 10: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Data Model vs. Conceptual Model• Data Model: raw data that has a specific data type (e.g. floats):

- Temperature Example: [32.5, 54.0, -17.3] (floats)• Conceptual Model: how we think about the data

- Includes semantics, reasoning- Temperature Example:

• Quantitative: [32.50, 54.00, -17.30]• Ordered: [warm, hot, cold]

�9

[via A. Lex, 2015]D. Koop, CIS 468, Fall 2018

Page 11: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Data Model vs. Conceptual Model• Data Model: raw data that has a specific data type (e.g. floats):

- Temperature Example: [32.5, 54.0, -17.3] (floats)• Conceptual Model: how we think about the data

- Includes semantics, reasoning- Temperature Example:

• Quantitative: [32.50, 54.00, -17.30]• Ordered: [warm, hot, cold]• Categorical: [not burned, burned, not burned]

�9

[via A. Lex, 2015]D. Koop, CIS 468, Fall 2018

Page 12: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Ordering Direction

�10

Attributes

Attribute Types

Ordering Direction

Categorical Ordered

Ordinal Quantitative

Sequential Diverging Cyclic

[Munzner (ill. Maguire), 2014]D. Koop, CIS 468, Fall 2018

Page 13: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Sequential and Diverging Data• Sequential: homogenous range

from a minimum to a maximum - Examples: Land elevations, ocean

depths • 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

�11

[Rogowitz & Treinish, 1998]D. Koop, CIS 468, Fall 2018

Page 14: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Derived Data• Often, data in its original form isn't as useful as we would like • Examples: Data about a basketball team's games • Example 1: 1stHalfPoints, 2ndHalfPoints

- More useful to know total number of points - Points = 1stHalfPoints + 2ndHalfPoints

• Example 2: Points, OpponentPoints - Want to have a column indicating win/loss - Win = True if (Points > OpponentPoints) else False

• Example 3: Points - Want to have a column indicating how that point total ranks - Rank = index in sorted list of all Point values

�12D. Koop, CIS 468, Fall 2018

Page 15: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Assignment 1• http://www.cis.umassd.edu/

~dkoop/cis468-2018fa/assignment1.html

• Due today (Sept. 25) at 11:59pm • HTML, CSS, SVG, JavaScript • Questions?

�13D. Koop, CIS 468, Fall 2018

Page 16: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

“Computer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectively.”

— T. Munzner

�14D. Koop, CIS 468, Fall 2018

Page 17: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Tasks• Why? Understand data, but what do I want to do with it? • Levels: High (Produce/Consume), Mid (Search), Low (Queries) • Another key concern: Who?

- Designer <-> User (A spectrum) - Complex <-> Easy to Use - General <-> Context-Specific - Flexible <-> Constrained - Varied Data <-> Specific Data

�15D. Koop, CIS 468, Fall 2018

Page 18: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Tasks

�16

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]D. Koop, CIS 468, Fall 2018

Page 19: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Actions: Analyze

�17

Analyze

Search

Query

ConsumePresent EnjoyDiscover

ProduceAnnotate Record Derive

Identify Compare Summarise

tag

Target known Target unknown

Location known

Location unknown

Lookup

Locate

Browse

Explore

Actions

[Munzner (ill. Maguire), 2014]D. Koop, CIS 468, Fall 2018

Page 20: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Visualization for Consumption• Discover new knowledge

- Generate new hypothesis or verify existing one - Designer doesn’t know what users need to see - "why doesn't dictate how"

• Present known information - Presenter already knows what the data says - Wants to communicate this to an audience - May be static but not limited to that

• Enjoy - Similar to discover, but without concrete goals - May be enjoyed differently than the original purpose

�18D. Koop, CIS 468, Fall 2018

Page 21: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Explore MTA Fare Data

�19D. Koop, CIS 468, Fall 2018

Page 22: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Present Known Information

�20

[M. Stefaner, 2013]D. Koop, CIS 468, Fall 2018

Page 23: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Name Voyager

�21

[Wattenberg, 2005, www.babynamewizard.com]D. Koop, CIS 468, Fall 2018

Page 24: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Visualization for Production• Generate new material • Annotate • Record • Derive (Transform)

�22D. Koop, CIS 468, Fall 2018

Page 25: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Annotation: Circle Annotations

�23

[S. Lu, 2017]D. Koop, CIS 468, Fall 2018

Page 26: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Record: Provenance of MTA Data Exploration

�24D. Koop, CIS 468, Fall 2018

Page 27: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Derived Data

�25

[Munzner (ill. Maguire), 2014]D. Koop, CIS 468, Fall 2018

Original Data

exports

imports

Derived Data

trade balance = exports − imports

trade balance

Page 28: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Visualization for Production• Generate new material • Annotate:

- Add more to a visualization - Usually associated with text, but can be graphical

• Record: - Persist visualizations for historical record - Provenance (graphical histories): how did I get here?

• Derive (Transform): - Create new data - Create derived attributes (e.g. mathematical operations,

aggregation)

�26D. Koop, CIS 468, Fall 2018

Page 29: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Actions: Search

• What does a user know? • Lookup: check bearings • Locate: find on a map • Browse: what’s nearby • Explore: where to go (patterns)

�27

[Munzner (ill. Maguire), 2014]D. Koop, CIS 468, Fall 2018

Analyze

Search

Query

ConsumePresent EnjoyDiscover

ProduceAnnotate Record Derive

Identify Compare Summarize

tag

Target known Target unknown

Location known

Location unknown

Lookup

Locate

Browse

Explore

Actions

Page 30: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Query

• Number of targets: One, Some (Often 2), or All • Identify: characteristics or references • Compare: similarities and differences • Summarize: overview of everything

�28

[Munzner (ill. Maguire), 2014]D. Koop, CIS 468, Fall 2018

Analyze

Search

Query

ConsumePresent EnjoyDiscover

ProduceAnnotate Record Derive

Identify Compare Summarize

tag

Target known Target unknown

Location known

Location unknown

Lookup

Locate

Browse

Explore

Actions

Page 31: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Targets

�29

[Munzner (ill. Maguire), 2014]D. Koop, CIS 468, Fall 2018

Trends

Why?What?

How?

Actions Targets

USE

SEARCH

QUERY

Why?

ALL DATA

Outliers Features

ATTRIBUTES

One ManyDistribution Dependency Correlation Similarity

NETWORK DATA

SPATIAL DATA

Shape

Topology

Paths

Extremes

ConsumePresent Enjoy Discover

Produce

Annotate Record Derive

Identify Compare Summarise

tag

Target known Target unknown

Location known

Location unknown

Lookup

Locate

Browse

Explore

Trends

Why?What?

How?

Actions Targets

USE

SEARCH

QUERY

Why?

ALL DATA

Outliers Features

ATTRIBUTES

One ManyDistribution Dependency Correlation Similarity

NETWORK DATA

SPATIAL DATA

Shape

Topology

Paths

Extremes

ConsumePresent Enjoy Discover

Produce

Annotate Record Derive

Identify Compare Summarise

tag

Target known Target unknown

Location known

Location unknown

Lookup

Locate

Browse

Explore

Page 32: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Analysis Example: Different “Idioms”

�30D. Koop, CIS 468, Fall 2018

[SpaceTree, Grosjean et al.] [TreeJuxtaposer, Munzner et al.]

Page 33: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

“Idiom” Comparison

�31

[Munzner (ill. Maguire), 2014]D. Koop, CIS 468, Fall 2018

[SpaceTree: Supporting Exploration in Large Node Link Tree, Design Evolution and Empirical Evaluation. Grosjean, Plaisant, and Bederson. Proc. InfoVis 2002, p 57–64.]

SpaceTree

[TreeJuxtaposer: Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility. ACM Trans. on Graphics (Proc. SIGGRAPH) 22:453– 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

Page 34: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

“Idiom” Comparison

�31

[Munzner (ill. Maguire), 2014]D. Koop, CIS 468, Fall 2018

[SpaceTree: Supporting Exploration in Large Node Link Tree, Design Evolution and Empirical Evaluation. Grosjean, Plaisant, and Bederson. Proc. InfoVis 2002, p 57–64.]

SpaceTree

[TreeJuxtaposer: Scalable Tree Comparison Using Focus+Context With Guaranteed Visibility. ACM Trans. on Graphics (Proc. SIGGRAPH) 22:453– 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

Page 35: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Analysis Example: Derivation• Strahler number

– centrality metric for trees/networks – derived quantitative attribute – draw top 5K of 500K for good skeleton

�32

[Munzner (ill. Maguire), 2014]D. Koop, CIS 468, Fall 2018

[Using Strahler numbers for real time visual exploration of huge graphs. Auber. Proc. Intl. Conf. Computer Vision and Graphics, pp. 56–69, 2002.]

Task 1

.58

.54

.64

.84

.24

.74

.64.84

.84

.94

.74

OutQuantitative attribute on nodes

.58

.54

.64

.84

.24

.74

.64.84

.84

.94

.74

InQuantitative attribute on nodes

Task 2

Derive

Why?What?

In Tree ReduceSummarize

How?Why?What?

In Quantitative attribute on nodes TopologyIn Tree

Filter

InTree

OutFiltered TreeRemoved unimportant parts

InTree +

Out Quantitative attribute on nodes Out Filtered Tree

Page 36: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Tools

�33D. Koop, CIS 468, Fall 2018

Page 37: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

d3.js

�34

Overview Examples Documentation Source

Data-Driven Documents

D3.js is a JavaScript library for manipulating documents based on data. D3 helps you bring data tolife using HTML, SVG, and CSS. D3’s emphasis on web standards gives you the full capabilities ofmodern browsers without tying yourself to a proprietary framework, combining powerful visualizationcomponents and a data-driven approach to DOM manipulation.

See more examples.

D. Koop, CIS 468, Fall 2018

Page 38: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

JavaScript Libraries• Building Blocks: HTML, CSS, SVG, and JavaScript • More Ideas:

- JavaScript Libraries • <script src="http://d3js.org/d3.js" charset="utf-8"></script>

- Minification: smaller code, no functional change • <script src="http://d3js.org/d3.min.js" charset="utf-8"></script>

• Can make debugging more difficult - Content Delivery Networks

• Faster delivery of Web content, also works for js • https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js

�35D. Koop, CIS 468, Fall 2018

Page 39: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

JavaScript Reminders• Functions are first-class objects in JavaScript • Closures are functions that remember their environment • Method Chaining: methods can also return the objects passed in or

derivative objects to allow you to call another function on the result - You often end up following specific patterns where an object

being manipulated requires multiple calls: • rect.attr("width", 200).attr("height", 100);

- Or it is clear that the method returns a specific object that you wish to make changes to: • svg.select("#myrect").style("fill", "blue");

- Of course, you may store the returned object as a variable and make each call separately

- Coding style: Indent, often put each call on a new line

�36D. Koop, CIS 468, Fall 2018

Page 40: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

Data-Driven Documents (D3)• http://d3js.org/ • Original Authors: Mike Bostock, Vadim Ogievestky, and Jeff Heer • Open Source • Focus on Web standards, customization, and usability • Grew from work on Protovis: more standard, more interactive • By nature, a low-level library; you have control over all elements

and styles if you wish • A top project on GitHub (over 60,000 stars as of 2/8/2017) • Lots of impressive examples

- Bostock was a New York Times Graphics Editor - http://bost.ocks.org/mike/

�37D. Koop, CIS 468, Fall 2018

Page 41: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

D3 Key Features• Supports data as a core piece of Web elements

- Loading data - Dealing with changing data (joins, enter/update/exit) - Correspondence between data and DOM elements

• Selections (similar to CSS) that allow greater manipulation • Method Chaining • Integrated layout algorithms, axes calculations, etc. • Focus on interaction support

- Straightforward support for transitions - Event handling support for user-initiated changes

�38D. Koop, CIS 468, Fall 2018

Page 42: Data Visualization (CIS 468)dkoop/cis468/lectures/lecture06.pdfD. Koop, CIS 468, Fall 2018 Danny Holten & Jarke J. van Wijk / Force-Directed Edge Bundling for Graph Visualization Figure

D3 Introduction• Ogievetsky has put together a nice set of interactive examples that

show off the major features of D3 • http://dakoop.github.io/IntroD3/

- (Updated from original for D3 v5) • Other references:

- Murrary’s book on Interactive Data Visualization for the Web - The D3 website: d3js.org - Changes in D3: CHANGES.md - Ros's Slides on v4: https://iros.github.io/d3-v4-whats-new/ - D3 v5 Change:

• Uses Promises to load data instead of callbacks • d3.csv("file.csv").then(function(data) { … });

�39D. Koop, CIS 468, Fall 2018