cartograms: drawing weighted graphs as maps gastvortrag vorlesung

56
Dr. Martin N¨ ollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung Algorithmen II Dr. Martin N¨ ollenburg Institut f¨ ur Theoretische Informatik YIG Algorithmen zur Geovisualisierung 18.12.2012

Upload: others

Post on 03-Feb-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Cartograms: Drawing Weighted Graphs as Maps

Gastvortrag Vorlesung Algorithmen II

Dr. Martin Nollenburg

Institut fur Theoretische InformatikYIG Algorithmen zur Geovisualisierung

18.12.2012

Page 2: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Spatial Statistical Data

How to best visualize statistics about spatial data?

Example: population in the USA

Page 3: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Spatial Statistical Data

How to best visualize statistics about spatial data?

Example: population in the USA

a table?

Page 4: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Spatial Statistical Data

How to best visualize statistics about spatial data?

Example: population in the USA

a table?

a pie chart?

Page 5: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Spatial Statistical Data

How to best visualize statistics about spatial data?

Example: population in the USA

a table?

a pie chart?a bar chart?

Page 6: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Spatial Statistical Data

How to best visualize statistics about spatial data?

Example: population in the USA

a table?

a pie chart?

Problem: standard methods don’t showthe spatial patterns!

a bar chart?

Page 7: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Map-based Statistical Visualization

choropleth map: use colors to show stats

Page 8: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Map-based Statistical Visualization

non-contiguous area cartogram:area proportional to population

Page 9: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Map-based Statistical Visualization

contiguous area cartogram: continuous deformation(Gastner, Newman 2004)

Page 10: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Map-based Statistical Visualization

Dorling cartograms: disks of proportional sizes

Page 11: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Map-based Statistical Visualization

rectangular cartograms: each region is a rectangle (Raisz 1934)

Page 12: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Problem Definition

Input:political map M (subdivision of a rectangle), and apositive value wi for each region Ri

3.5

1.9

5.4

5.71.6

Page 13: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Problem Definition

Input:political map M (subdivision of a rectangle), and apositive value wi for each region Ri

or:

vertex-weighted inner-triangulated plane graph G dualto M , where each vertex vi is a region Ri, edgesconnect adjacent regions, and vertex weights are wi

3.5

1.9

5.4

5.71.6

or

3.5

1.9

5.4

5.7 1.6

Page 14: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Problem Definition

Input:political map M (subdivision of a rectangle), and apositive value wi for each region Ri

or:

vertex-weighted inner-triangulated plane graph G dualto M , where each vertex vi is a region Ri, edgesconnect adjacent regions, and vertex weights are wi

Goal: distorted map M 0 equivalent to M so that |Ri| = wi

3.5

1.9

5.4

5.71.6

or

3.5

1.9

5.4

5.7 1.6

Page 15: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Problem Definition

Input:political map M (subdivision of a rectangle), and apositive value wi for each region Ri

or:

vertex-weighted inner-triangulated plane graph G dualto M , where each vertex vi is a region Ri, edgesconnect adjacent regions, and vertex weights are wi

Goal: distorted map M 0 equivalent to M so that |Ri| = wi

or:

area-proportional contact representation of G, whereeach vertex vi is represented as a geometric shape si ofarea wi and two shapes si, sj touch i↵ vivj 2 E

3.5

1.9

5.4

5.71.6

or

3.5

1.9

5.4

5.7 1.6

Page 16: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

What is known for unweighted graphs?

every planar graph has a disk contact representation[Koebe 1936]

Page 17: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

What is known for unweighted graphs?

every planar graph has a disk contact representation[Koebe 1936]

every planar graph has a hole-free contact representation ofconvex hexagons [Gansner et al. 2010]

Page 18: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

What is known for unweighted graphs?

every planar graph has a disk contact representation[Koebe 1936]

every planar graph has a hole-free contact representation ofconvex hexagons [Gansner et al. 2010]

every planar graph satisfying that1. every inner face is a triangle, the outer face a quadrangle2. there are no separating triangleshas a rectangular dual [Kozminski, Kinnen 1985]

Page 19: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

What is known for vertex-weighted graphs?

rectangular cartograms with low error[van Kreveld, Speckmann 2005]

Page 20: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

What is known for vertex-weighted graphs?

rectangular cartograms with low error[van Kreveld, Speckmann 2005]

characterization of area-universal rectangular cartograms[Eppstein et al. 2012]

Page 21: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

What is known for vertex-weighted graphs?

rectangular cartograms with low error[van Kreveld, Speckmann 2005]

characterization of area-universal rectangular cartograms[Eppstein et al. 2012]

every inner-triangulated planar vertex-weighted graph has arectilinear cartograms with octagons [Alam et al. 2012]octagons are actually necessary for somegraphs [Yeap, Sarrafzadeh 1993]

Page 22: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Rectilinear cartograms with 10-sided polygons

Md. J. Alam, T. Biedl, S. Felsner, A. Gerasch, M.

Kaufmann, S. G. Kobourov. Linear-time algorithms for

proprtional contact representations. Proc. ISAAC 2011.

thanks to Md. Jawaherul Alam for letting me use some of his slides

Page 23: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Schnyder Realizer

Let G be a fully triangulated planar graph. A Schnyderrealizer partitions the internal edges into three sets T1, T2, T3

of directed edges so that

every internal vertex v has exactly one edge in each T out

i

the ccw ordering of edges around any v isT in

1 , T out

3 , T in

2 , T out

1 , T in

3 , T out

2

T3

T2

T1

Page 24: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Schnyder Realizer

Theorem: Each set Ti (i = 1, 2, 3) is a spanning tree of theinner vertices and one outer vertex.Every triangulated graph has a Schnyder realizerand it can be computed in O(n) time.

2 9

1

6

3 58

74

T3T2

T1

Page 25: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Schnyder Realizer

Theorem: Each set Ti (i = 1, 2, 3) is a spanning tree of theinner vertices and one outer vertex.Every triangulated graph has a Schnyder realizerand it can be computed in O(n) time.

2 9

1

6

3 58

74

T1

Page 26: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Schnyder Realizer

Theorem: Each set Ti (i = 1, 2, 3) is a spanning tree of theinner vertices and one outer vertex.Every triangulated graph has a Schnyder realizerand it can be computed in O(n) time.

2 9

1

6

3 58

74

T2

Page 27: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Schnyder Realizer

Theorem: Each set Ti (i = 1, 2, 3) is a spanning tree of theinner vertices and one outer vertex.Every triangulated graph has a Schnyder realizerand it can be computed in O(n) time.

2 9

1

6

3 58

74

T3

Page 28: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Schnyder Realizer

Theorem: Each set Ti (i = 1, 2, 3) is a spanning tree of theinner vertices and one outer vertex.Every triangulated graph has a Schnyder realizerand it can be computed in O(n) time.

2 9

1

6

3 58

74

T3T2

T1

Page 29: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Schnyder Realizer

Theorem: Each set Ti (i = 1, 2, 3) is a spanning tree of theinner vertices and one outer vertex.Every triangulated graph has a Schnyder realizerand it can be computed in O(n) time.

2 9

1

6

3 58

74

T3T2

T1

Page 30: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Schnyder Realizer

Theorem: Each set Ti (i = 1, 2, 3) is a spanning tree of theinner vertices and one outer vertex.Every triangulated graph has a Schnyder realizerand it can be computed in O(n) time.

2 9

1

6

3 58

74

Observation:In the left-to-right DFSorder of T1, parents in T2

come before their children.

T3T2

T1

Page 31: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Polygon shapes

Every vertex is represented by a rectilinear 10-gon.

Page 32: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Polygon shapes

Every vertex is represented by a rectilinear 10-gon.

body

foot

leg

bridge

Page 33: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Polygon shapes

Every vertex is represented by a rectilinear 10-gon.

body

foot

leg

bridge

bridge strip

foot strip

Page 34: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Polygon shapes

Every vertex is represented by a rectilinear 10-gon.

body

foot

leg

bridge

bridge strip

foot strip

Foot, leg, and bridge use small area;the body carries almost all weight.

Page 35: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Layout Algorithm

Compute polygons in left-to-right DFS order of T1.

v

Page 36: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Layout Algorithm

Compute polygons in left-to-right DFS order of T1.

v

fix foot, leg, and bridge strip

Page 37: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Layout Algorithm

Compute polygons in left-to-right DFS order of T1.

v

fix foot, leg, and bridge strip

compute child polygons

Page 38: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Layout Algorithm

Compute polygons in left-to-right DFS order of T1.

v

fix foot, leg, and bridge strip

compute child polygons

fix bridge and body

Page 39: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Layout Algorithm

Compute polygons in left-to-right DFS order of T1.

v

fix foot, leg, and bridge strip

compute child polygons

fix bridge and body

fix foot strips for children in T2

Page 40: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Example

Martin Nollenburg Cartograms: Drawing Weighted Graphs as Maps

Page 41: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Example

Martin Nollenburg Cartograms: Drawing Weighted Graphs as Maps

Page 42: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Example

Martin Nollenburg Cartograms: Drawing Weighted Graphs as Maps

Page 43: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Example

Martin Nollenburg Cartograms: Drawing Weighted Graphs as Maps

Page 44: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Example

Martin Nollenburg Cartograms: Drawing Weighted Graphs as Maps

Page 45: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Example

Martin Nollenburg Cartograms: Drawing Weighted Graphs as Maps

Page 46: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Example

Martin Nollenburg Cartograms: Drawing Weighted Graphs as Maps

Page 47: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Example

Martin Nollenburg Cartograms: Drawing Weighted Graphs as Maps

Page 48: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Example

Martin Nollenburg Cartograms: Drawing Weighted Graphs as Maps

Page 49: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Example

Martin Nollenburg Cartograms: Drawing Weighted Graphs as Maps

Page 50: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Example

Martin Nollenburg Cartograms: Drawing Weighted Graphs as Maps

Page 51: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Example

Martin Nollenburg Cartograms: Drawing Weighted Graphs as Maps

Page 52: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Example

Martin Nollenburg Cartograms: Drawing Weighted Graphs as Maps

Page 53: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Example

Martin Nollenburg Cartograms: Drawing Weighted Graphs as Maps

Page 54: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Example

Martin Nollenburg Cartograms: Drawing Weighted Graphs as Maps

Page 55: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Summary

every vertex-weighted planar triangulated graph can bedrawn as a rectilinear contact representation with 10-gonsrunning time of the algorithm is O(n)actually 8-sided polygons are always su�cient, but aconstructive algorithm is still missing

Page 56: Cartograms: Drawing Weighted Graphs as Maps Gastvortrag Vorlesung

Dr. Martin Nollenburg · Gastvortrag Algorithmen II Cartograms: Drawing Weighted Graphs as Maps

Lust auf mehr?

Regelmaßige Master-Vorlesungen:

Algorithmische Kartografie (erstmals SS 2013)Algorithmische Geometrie (im SS, nicht 2013)Algorithmen zur Visualisierung von Graphen (im WS)

Themengebiete fur praktische und theoretischeAbschlussarbeiten:

GeovisualisierungGraphenzeichnenAlgorithmische Geometrie. . .

Kontakt:Martin Nollenburg [email protected]