GraphMaps Browsing Large Graphs as Interactive Maps Lev Nachmanson 1 - - PowerPoint PPT Presentation

graphmaps
SMART_READER_LITE
LIVE PREVIEW

GraphMaps Browsing Large Graphs as Interactive Maps Lev Nachmanson 1 - - PowerPoint PPT Presentation

GraphMaps Browsing Large Graphs as Interactive Maps Lev Nachmanson 1 , Roman Prutkin 2 , Bongshin Lee 1 , Nathalie Henry Riche 1 , Alexander E. Holroyd 1 , and Xiaoji Chen 3 September 23, 2015 1 M ICROSOFT R ESEARCH , R EDMOND 3 M ICROSOFT , R


slide-1
SLIDE 1
  • R. Prutkin: Browsing large graphs as interactive maps

Browsing Large Graphs as Interactive Maps

Lev Nachmanson1 , Roman Prutkin2, Bongshin Lee1, Nathalie Henry Riche1, Alexander E. Holroyd1, and Xiaoji Chen3

September 23, 2015

1 MICROSOFT RESEARCH, REDMOND

GraphMaps

2 KARLSRUHE INSTITUTE OF TECHNOLOGY 3 MICROSOFT, REDMOND

slide-2
SLIDE 2
  • R. Prutkin: Browsing large graphs as interactive maps

Why consider exploration of large graphs?

readable drawings of large graphs still a challenge good and fast vertex placement algorithms are known displaying readable connectivity information is challenging

View of a graph b100: files in a C++ project.

slide-3
SLIDE 3
  • R. Prutkin: Browsing large graphs as interactive maps

Related approaches

partition and group nodes/edges, draw resulting smaller graph drawing: use hierarchy; coarsen, lay out, uncoarsen browsing: display a ”graph of graphs”

[Eades and Feng, 1997] example from

: aggregation and multiscale techniques

slide-4
SLIDE 4
  • R. Prutkin: Browsing large graphs as interactive maps

Related approaches

partition and group nodes/edges, draw resulting smaller graph drawing: use hierarchy; coarsen, lay out, uncoarsen browsing: display a ”graph of graphs”

[Eades and Feng, 1997] example from

: aggregation and multiscale techniques

slide-5
SLIDE 5
  • R. Prutkin: Browsing large graphs as interactive maps

Related approaches

partition and group nodes/edges, draw resulting smaller graph drawing: use hierarchy; coarsen, lay out, uncoarsen browsing: display a ”graph of graphs”

[Eades and Feng, 1997] [Auber et al., 2003] example from example from

: aggregation and multiscale techniques

slide-6
SLIDE 6
  • R. Prutkin: Browsing large graphs as interactive maps

Related approaches

partition and group nodes/edges, draw resulting smaller graph drawing: use hierarchy; coarsen, lay out, uncoarsen browsing: display a ”graph of graphs”

[Eades and Feng, 1997] [Auber et al., 2003] example from example from [van den Elzen and van Wijk, 2014]

: aggregation and multiscale techniques

slide-7
SLIDE 7
  • R. Prutkin: Browsing large graphs as interactive maps

Related approaches

[Eades and Feng, 1997]

scale up to millions of nodes/edges; drawbacks: misleading information on inter- and intra-connectivity spatial instability confuses the user

[Auber et al., 2003] example from example from [van den Elzen and van Wijk, 2014]

: aggregation and multiscale techniques

slide-8
SLIDE 8
  • R. Prutkin: Browsing large graphs as interactive maps

Related approaches

rank nodes/edges by importance show important nodes first

A complete and filtered view of a network. [SocialAction. Perer and Shneiderman]

: filtering techniques

slide-9
SLIDE 9
  • R. Prutkin: Browsing large graphs as interactive maps

Related approaches : political map metaphor

Gmap [Gansner, Hu, Kobourov 2010]. Focus on showing clusters: as countries with map-like borders and coloring; graph on top collaboration graph, GD 1994-2004

slide-10
SLIDE 10
  • R. Prutkin: Browsing large graphs as interactive maps

Related approaches : political map metaphor

Gmap [Gansner, Hu, Kobourov 2010]. Focus on showing clusters: as countries with map-like borders and coloring; graph on top collaboration graph, GD 1994-2004

slide-11
SLIDE 11
  • R. Prutkin: Browsing large graphs as interactive maps

Our inspiration: online street maps

showing everything at all times unnecessary high-level graph structure should be visible show important nodes and edges between them ability to zoom in: nodes/edges appear gradually with increasing zoom level

Bing maps

slide-12
SLIDE 12
  • R. Prutkin: Browsing large graphs as interactive maps

Our inspiration: online street maps

showing everything at all times unnecessary high-level graph structure should be visible show important nodes and edges between them ability to zoom in: nodes/edges appear gradually with increasing zoom level

Bing maps

slide-13
SLIDE 13
  • R. Prutkin: Browsing large graphs as interactive maps

Our inspiration: online street maps

showing everything at all times unnecessary high-level graph structure should be visible show important nodes and edges between them ability to zoom in: nodes/edges appear gradually with increasing zoom level

Bing maps

slide-14
SLIDE 14
  • R. Prutkin: Browsing large graphs as interactive maps

Our inspiration: online street maps

showing everything at all times unnecessary high-level graph structure should be visible show important nodes and edges between them ability to zoom in: nodes/edges appear gradually with increasing zoom level

Bing maps

slide-15
SLIDE 15
  • R. Prutkin: Browsing large graphs as interactive maps

Our inspiration: online street maps

help navigate by highlighting edges

Bing maps

slide-16
SLIDE 16
  • R. Prutkin: Browsing large graphs as interactive maps

Design goals

reveal key structure through zoom in/out and pan A B C D

vertices and edges of level 1

no restriction on input graphs 1 2

slide-17
SLIDE 17
  • R. Prutkin: Browsing large graphs as interactive maps

Design goals

reveal key structure through zoom in/out and pan

E F G H

vertices and edges of level 1 and 2

A B D no restriction on input graphs 1 2 C

slide-18
SLIDE 18
  • R. Prutkin: Browsing large graphs as interactive maps

Design goals

reveal key structure through zoom in/out and pan no restriction on input graphs 1 2 preserve mental map of the user 3 edge trajectories don’t change on zoom A B

slide-19
SLIDE 19
  • R. Prutkin: Browsing large graphs as interactive maps

Design goals

reveal key structure through zoom in/out and pan A B

E

no restriction on input graphs 1 2 preserve mental map of the user 3 edge trajectories don’t change on zoom

slide-20
SLIDE 20
  • R. Prutkin: Browsing large graphs as interactive maps

Design goals

reveal key structure through zoom in/out and pan

F G

A B C D

no restriction on input graphs 1 2 preserve mental map of the user 3 limit clutter and complexity 4 bound the number of displayed geometric objects

E

showing:

≤ c1 vertices ≤ c2 segments

current view

slide-21
SLIDE 21
  • R. Prutkin: Browsing large graphs as interactive maps

Design decisions

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity : what to do with the edges? 1 4 Decision: use edge bundling using polygonal mesh Problems: low-level connectivity lost inside bundles no guarantees (unlike, e.g., for confluent drawings) A B D C edge between A, B no edge between C, D some edges between

{A, B} and {C, D}

should suffice for an overview for more details: highlight incident edges

  • verview through zoom and pan

2

slide-22
SLIDE 22
  • R. Prutkin: Browsing large graphs as interactive maps

Design decisions

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity : what to do with the edges? 1 4 Decision: use edge bundling using polygonal mesh Problems: low-level connectivity lost inside bundles no guarantees (unlike, e.g., for confluent drawings) edge between A, B no edge between C, D some edges between

{A, B} and {C, D}

should suffice for an overview for more details: highlight incident edges A B D C

  • verview through zoom and pan

2

slide-23
SLIDE 23
  • R. Prutkin: Browsing large graphs as interactive maps

Design decisions

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity : what to do with the edges? 1 4 Decision: use edge bundling using polygonal mesh Problems: low-level connectivity lost inside bundles no guarantees (unlike, e.g., for confluent drawings) edge between A, B no edge between C, D some edges between

{A, B} and {C, D}

should suffice for an overview for more details: highlight incident edges A B D C

  • verview through zoom and pan

2

slide-24
SLIDE 24
  • R. Prutkin: Browsing large graphs as interactive maps

Design decisions

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity : what to do with the edges? 1 4 Decision: use edge bundling using polygonal mesh Problems: low-level connectivity lost inside bundles no guarantees (unlike, e.g., for confluent drawings) should suffice for an overview for more details: highlight incident edges

  • verview through zoom and pan

2 A B D C compute set of rails assignment: edge e → set of rails forming e

slide-25
SLIDE 25
  • R. Prutkin: Browsing large graphs as interactive maps

Design decisions

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity : what to do with the edges? 1 4 Decision: use edge bundling using polygonal mesh Problems: low-level connectivity lost inside bundles no guarantees (unlike, e.g., for confluent drawings) should suffice for an overview for more details: highlight incident edges

  • verview through zoom and pan

2 A B D C compute set of rails assignment: edge e → set of rails forming e

slide-26
SLIDE 26
  • R. Prutkin: Browsing large graphs as interactive maps

Design decisions

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity : what to do with the edges? 1 4 Decision: use edge bundling using polygonal mesh Problems: low-level connectivity lost inside bundles no guarantees (unlike, e.g., for confluent drawings) should suffice for an overview for more details: highlight incident edges

  • verview through zoom and pan

2 A B D C compute set of rails assignment: edge e → set of rails forming e

slide-27
SLIDE 27
  • R. Prutkin: Browsing large graphs as interactive maps

Design decisions

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity : what to do with the edges? 1 4 Decision: use edge bundling using polygonal mesh Problems: low-level connectivity lost inside bundles no guarantees (unlike, e.g., for confluent drawings) should suffice for an overview for more details: highlight incident edges

  • verview through zoom and pan

2 A B D C compute set of rails assignment: edge e → set of rails forming e

slide-28
SLIDE 28
  • R. Prutkin: Browsing large graphs as interactive maps

Design decisions

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity : what to do with the edges? 1 4 Decision: use edge bundling using polygonal mesh Problems: low-level connectivity lost inside bundles no guarantees (unlike, e.g., for confluent drawings) should suffice for an overview for more details: highlight incident edges

  • verview through zoom and pan

2 A B D C compute set of rails assignment: edge e → set of rails forming e

slide-29
SLIDE 29
  • R. Prutkin: Browsing large graphs as interactive maps

Design decisions

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity : what to do with the edges? 1 4 Decision: use edge bundling using polygonal mesh Problems: low-level connectivity lost inside bundles no guarantees (unlike, e.g., for confluent drawings) should suffice for an overview for more details: highlight incident edges

  • verview through zoom and pan

2 A B D C compute set of rails assignment: edge e → set of rails forming e

slide-30
SLIDE 30
  • R. Prutkin: Browsing large graphs as interactive maps

Design decisions

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4 : choosing visible level of detail?

  • verview through zoom and pan

2 Node layout: MDS, force-directed, . . . , user input Node ranking: sorted by decreasing importance using betweenness centrality, PageRank, degree, . . . , user input Seattle Tacoma Redmond

( ) , , , . . .

SortedV =

motivation: on maps, never show Redmond without Seattle if both inside view

Seattle

Redmond

Tacoma

assign zoom levels: v ∈ V → z(v) ∈ {1.0, 2.0, 4.0, 8.0, . . . } show v iff z(v) ≤ current zoom

slide-31
SLIDE 31
  • R. Prutkin: Browsing large graphs as interactive maps

Demo

Composers graph largest connected component: 2743 nodes, 13769 edges vertices: Wikipedia articles about composers edges: links between these articles benchmark graph from the Graph Drawing 2011 contest

slide-32
SLIDE 32
  • R. Prutkin: Browsing large graphs as interactive maps

Algorithm overview: zoom level assignment

no restriction on input graphs limit clutter and complexity 1 4

  • verview through zoom and pan

2 initial node layout node ranking 3 preserve mental map of the user

slide-33
SLIDE 33
  • R. Prutkin: Browsing large graphs as interactive maps

Algorithm overview: zoom level assignment

no restriction on input graphs limit clutter and complexity 1 4

  • verview through zoom and pan

2 initial node layout node ranking pick candidate nodes for current level 3 preserve mental map of the user

slide-34
SLIDE 34
  • R. Prutkin: Browsing large graphs as interactive maps

Algorithm overview: zoom level assignment

no restriction on input graphs limit clutter and complexity 1 4

  • verview through zoom and pan

2 initial node layout node ranking pick candidate nodes for current level generate mesh for edge routing 3 preserve mental map of the user

slide-35
SLIDE 35
  • R. Prutkin: Browsing large graphs as interactive maps

Algorithm overview: zoom level assignment

no restriction on input graphs limit clutter and complexity 1 4

  • verview through zoom and pan

2 initial node layout node ranking pick candidate nodes for current level generate mesh for edge routing try adding next node+edges 3 preserve mental map of the user

slide-36
SLIDE 36
  • R. Prutkin: Browsing large graphs as interactive maps

Algorithm overview: zoom level assignment

no restriction on input graphs limit clutter and complexity 1 4

  • verview through zoom and pan

2 initial node layout node ranking pick candidate nodes for current level generate mesh for edge routing try adding next node+edges cell quotas exceeded? no confirm 3 preserve mental map of the user

slide-37
SLIDE 37
  • R. Prutkin: Browsing large graphs as interactive maps

Algorithm overview: zoom level assignment

no restriction on input graphs limit clutter and complexity 1 4

  • verview through zoom and pan

2 initial node layout node ranking pick candidate nodes for current level generate mesh for edge routing try adding next node+edges cell quotas exceeded? no confirm yes subdivide cells go to next level 3 preserve mental map of the user

slide-38
SLIDE 38
  • R. Prutkin: Browsing large graphs as interactive maps

Algorithm overview: zoom level assignment

no restriction on input graphs limit clutter and complexity 1 4

  • verview through zoom and pan

2 initial node layout node ranking pick candidate nodes for current level generate mesh for edge routing

520

maintain edge trajectories on zoom 3 preserve mental map of the user

slide-39
SLIDE 39
  • R. Prutkin: Browsing large graphs as interactive maps

Algorithm overview: zoom level assignment

no restriction on input graphs limit clutter and complexity 1 4

  • verview through zoom and pan

2 initial node layout node ranking pick candidate nodes for current level generate mesh for edge routing maintain edge trajectories on zoom

520

3 preserve mental map of the user

slide-40
SLIDE 40
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

19

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment maintain node quota QN and rail quota QR in each cell graph with no edges (for presentation)

1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

QN = 20;

14

slide-41
SLIDE 41
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment maintain node quota QN and rail quota QR in each cell graph with no edges (for presentation) filling level 1.0 QN = 20; set z(v) = 1.0

slide-42
SLIDE 42
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment maintain node quota QN and rail quota QR in each cell graph with no edges (for presentation)

1

filling level 1.0 QN = 20; set z(v) = 1.0

slide-43
SLIDE 43
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment maintain node quota QN and rail quota QR in each cell graph with no edges (for presentation)

1 2

filling level 1.0 QN = 20; set z(v) = 1.0

slide-44
SLIDE 44
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

19

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment maintain node quota QN and rail quota QR in each cell graph with no edges (for presentation)

1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18

QN = 20; level 1.0 full

14

slide-45
SLIDE 45
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

19

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment maintain node quota QN and rail quota QR in each cell graph with no edges (for presentation)

1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18

QN = 20; level 1.0 full

20 14

slide-46
SLIDE 46
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

19

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment maintain node quota QN and rail quota QR in each cell graph with no edges (for presentation)

1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18

QN = 20; level 1.0 full subdivide cells

4 3 6 7

14

slide-47
SLIDE 47
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

19

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment maintain node quota QN and rail quota QR in each cell graph with no edges (for presentation)

1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18

QN = 20; filling level 2.0 set z(v) = 2.0

20 14

slide-48
SLIDE 48
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

19

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment maintain node quota QN and rail quota QR in each cell graph with no edges (for presentation)

1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18

QN = 20; filling level 2.0 set z(v) = 2.0

20 21 14

slide-49
SLIDE 49
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

19

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment maintain node quota QN and rail quota QR in each cell graph with no edges (for presentation)

1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18

QN = 20; filling level 2.0 all nodes added set z(v) = 2.0

20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 14

slide-50
SLIDE 50
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

19

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment maintain node quota QN and rail quota QR in each cell graph with no edges (for presentation)

1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18

QN = 20; filling level 2.0 all nodes added set z(v) = 2.0

20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 14

14 17 8 8

slide-51
SLIDE 51
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

19

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 maintain node quota QN and rail quota QR in each cell graph with no edges (for presentation)

1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18

QN = 20;

22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

: zoom level selection view rectangle R has zoom level zR = min{ wtotal

wR , htotal hR }

≈ 1.3

show v iff z(v) ≤ zR

R

14

slide-52
SLIDE 52
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

19

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment maintain node quota QN and rail quota QR in each cell graph with no edges (for presentation)

1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18 20 21

QN = 20; view rectangle R has zoom level zR = min{ wtotal

wR , htotal hR }

≈ 1.3

show v iff z(v) ≤ zR

R

at most 4QN visible

14

slide-53
SLIDE 53
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment with rails maintain node quota QN and rail quota QR in each cell graph with edges

1 2 4 5 6 7 8 9 10 11 12 13 15 16 17 18

filling level 1.0 QN = 20, QR = 45

19 14 3

slide-54
SLIDE 54
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment with rails maintain node quota QN and rail quota QR in each cell graph with edges

1 2 4 5 6 7 8 9 10 11 12 13 15 16 17 18

filling level 1.0 QN = 20, QR = 45

19 14

use as input for mesh generator triangle [J. R. Shewchuk]

3

slide-55
SLIDE 55
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment with rails maintain node quota QN and rail quota QR in each cell graph with edges filling level 1.0 QN = 20, QR = 45 use as input for mesh generator triangle [J. R. Shewchuk]

slide-56
SLIDE 56
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment with rails maintain node quota QN and rail quota QR in each cell graph with edges filling level 1.0 QN = 20, QR = 45 use as input for mesh generator triangle [J. R. Shewchuk]

slide-57
SLIDE 57
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment with rails maintain node quota QN and rail quota QR in each cell graph with edges filling level 1.0 QN = 20, QR = 45 use as input for mesh generator triangle [J. R. Shewchuk]

slide-58
SLIDE 58
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment with rails maintain node quota QN and rail quota QR in each cell graph with edges

1

filling level 1.0 QN = 20, QR = 45 use as input for mesh generator triangle [J. R. Shewchuk]

slide-59
SLIDE 59
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment with rails maintain node quota QN and rail quota QR in each cell graph with edges

1 2

filling level 1.0 QN = 20, QR = 45 use as input for mesh generator triangle [J. R. Shewchuk]

slide-60
SLIDE 60
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment with rails maintain node quota QN and rail quota QR in each cell graph with edges

1 2 4 5 6 7 8 9 10 11 12 13 15 16 17 18

filling level 1.0 QN = 20, QR = 45

19 14

use as input for mesh generator triangle [J. R. Shewchuk]

3

slide-61
SLIDE 61
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment with rails maintain node quota QN and rail quota QR in each cell graph with edges

1 2 4 5 6 7 8 9 10 11 12 13 15 16 17 18

filling level 1.0 QN = 20, QR = 45

19 14

added nodes 0 . . . 19 all edges in between per cell: ≤ 20 nodes,

≤ 45 rails

3

slide-62
SLIDE 62
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment with rails maintain node quota QN and rail quota QR in each cell graph with edges

1 2 4 5 6 7 8 9 10 11 12 13 15 16 17 18

filling level 1.0 QN = 20, QR = 45

19 14

added nodes 0 . . . 19 all edges in between per cell: ≤ 20 nodes,

≤ 45 rails

subdivide cells

3

slide-63
SLIDE 63
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment with rails maintain node quota QN and rail quota QR in each cell graph with edges

1 2 4 5 6 7 8 9 10 11 12 13 15 16 17 18

QN = 20, QR = 45

19 14

per cell: ≤ 20 nodes,

≤ 45 rails

subdivide cells filling level 2.0 added nodes 20 . . . 46

3

slide-64
SLIDE 64
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment with rails maintain node quota QN and rail quota QR in each cell graph with edges QN = 20, QR = 45 filling level 2.0 added nodes 20 . . . 46 use added nodes and old rails as input

slide-65
SLIDE 65
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment with rails maintain node quota QN and rail quota QR in each cell graph with edges QN = 20, QR = 45 filling level 2.0 added nodes 20 . . . 46 use added nodes and old rails as input

slide-66
SLIDE 66
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment with rails maintain node quota QN and rail quota QR in each cell graph with edges

1 2 4 5 6 7 8 9 10 11 12 13 15 16 17 18

QN = 20, QR = 45

19 14

per cell: ≤ 20 nodes,

≤ 45 rails

filling level 2.0 added nodes 0 . . . 36 all edges in between

3

slide-67
SLIDE 67
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment with rails maintain node quota QN and rail quota QR in each cell graph with edges

1 2 4 5 6 7 8 9 10 11 12 13 15 16 17 18

QN = 20, QR = 45

19 14

per cell: ≤ 20 nodes,

≤ 45 rails

filling level 2.0 added nodes 0 . . . 36 all edges in between

3

29 21 34 33 36 31 27 28 30 24 23 20 32 26 25 35 22

slide-68
SLIDE 68
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment with rails maintain node quota QN and rail quota QR in each cell graph with edges

1 2 4 5 6 7 8 9 10 11 12 13 15 16 17 18

QN = 20, QR = 45

19 14

per cell: ≤ 20 nodes,

≤ 45 rails

filling level 2.0 added nodes 0 . . . 36 all edges in between

3

29 21 34 33 36 31 27 28 30 24 23 20 32 26 25 35 22 37

slide-69
SLIDE 69
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment with rails maintain node quota QN and rail quota QR in each cell graph with edges

1 2 4 5 6 7 8 9 10 11 12 13 15 16 17 18

QN = 20, QR = 45

19 14

per cell: ≤ 20 nodes,

≤ 45 rails

subdivide cells added nodes 0 . . . 36 all edges in between

3

29 21 34 33 36 31 27 28 30 24 23 20 32 26 25 35 22

filling level 4.0

slide-70
SLIDE 70
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment with rails maintain node quota QN and rail quota QR in each cell graph with edges

1 2 4 5 6 7 8 9 10 11 12 13 15 16 17 18

QN = 20, QR = 45

19 14

per cell: ≤ 20 nodes,

≤ 45 rails

subdivide cells

3

29 21 34 33 36 31 27 28 30 24 23 20 32 26 25 35 22

filling level 4.0 added nodes 0 . . . 46

slide-71
SLIDE 71
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment with rails maintain node quota QN and rail quota QR in each cell graph with edges QN = 20, QR = 45 use added nodes and old rails as input filling level 4.0 added nodes 0 . . . 46

slide-72
SLIDE 72
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment with rails maintain node quota QN and rail quota QR in each cell graph with edges QN = 20, QR = 45 use added nodes and old rails as input filling level 4.0 added nodes 0 . . . 46

slide-73
SLIDE 73
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment with rails maintain node quota QN and rail quota QR in each cell graph with edges QN = 20, QR = 45 per cell: ≤ 20 nodes,

≤ 45 rails

29 21 34 33 36 31 27 28 30 24 23 20 32 26 25 35 22

filling level 4.0 added nodes 0 . . . 46 all edges in between

43 38 39 45 42 46 44 41 40

slide-74
SLIDE 74
  • R. Prutkin: Browsing large graphs as interactive maps

Method description

no restriction on input graphs preserve mental map of the user 3 limit clutter and complexity 1 4

  • verview through zoom and pan

2 : zoom level assignment with rails maintain node quota QN and rail quota QR in each cell graph with edges QN = 20, QR = 45 per cell: ≤ 20 nodes,

≤ 45 rails

29 21 34 33 36 31 27 28 30 24 23 20 32 26 25 35 22

filling level 4.0 added nodes 0 . . . 46 all edges in between

43 38 39 45 42 46 44 41 40

slide-75
SLIDE 75
  • R. Prutkin: Browsing large graphs as interactive maps

More details

remove overlaps

slide-76
SLIDE 76
  • R. Prutkin: Browsing large graphs as interactive maps

More details

remove overlaps

slide-77
SLIDE 77
  • R. Prutkin: Browsing large graphs as interactive maps

More details

remove overlaps

slide-78
SLIDE 78
  • R. Prutkin: Browsing large graphs as interactive maps

More details

remove overlaps pre-rendered bitmap tiles for orientation

slide-79
SLIDE 79
  • R. Prutkin: Browsing large graphs as interactive maps

More details

remove overlaps pre-rendered bitmap tiles for orientation node labeling

slide-80
SLIDE 80
  • R. Prutkin: Browsing large graphs as interactive maps

More details

remove overlaps pre-rendered bitmap tiles for orientation node labeling interactions

slide-81
SLIDE 81
  • R. Prutkin: Browsing large graphs as interactive maps

More details

remove overlaps pre-rendered bitmap tiles for orientation node labeling interactions : see paper

slide-82
SLIDE 82
  • R. Prutkin: Browsing large graphs as interactive maps

Conclusion

introduced new approach of browsing large graphs provide a familiar browsing experience preserve mental map bounds on number of visible objects scalability, reduced clutter part of MSAGL, available at github.com/Microsoft/automatic-graph-layout

slide-83
SLIDE 83
  • R. Prutkin: Browsing large graphs as interactive maps

Conclusion

introduced new approach of browsing large graphs provide a familiar browsing experience preserve mental map bounds on number of visible objects scalability, reduced clutter

Future work

find suitable initial node layout replace mesh generator prove guarantees on feature size and number of levels improve node labeling user studies part of MSAGL, available at github.com/Microsoft/automatic-graph-layout

slide-84
SLIDE 84
  • R. Prutkin: Browsing large graphs as interactive maps

Conclusion

introduced new approach of browsing large graphs provide a familiar browsing experience preserve mental map bounds on number of visible objects scalability, reduced clutter

Future work

find suitable initial node layout replace mesh generator prove guarantees on feature size and number of levels improve node labeling user studies ask Debajyoti Mondal and Lev Nachmanson part of MSAGL, available at github.com/Microsoft/automatic-graph-layout