Label Placement and graph drawing - PowerPoint PPT Presentation

1 / 51
About This Presentation
Title:

Label Placement and graph drawing

Description:

Automated label placement originates from the Cartography. Many years of research. Three types: ... The label must follow the shape of the line (but not to strict) ... – PowerPoint PPT presentation

Number of Views:94
Avg rating:3.0/5.0
Slides: 52
Provided by: imolieb
Category:

less

Transcript and Presenter's Notes

Title: Label Placement and graph drawing


1
Label Placement and graph drawing
  • Imo Lieberwerth

2
Overview
  • Introduction
  • The Edge Label Placement problem
  • The Multiple Label Placement problem

3
Introduction
  • Automated label placement originates from the
    Cartography
  • Many years of research
  • Three types
  • Point labeling
  • Line labeling
  • Area labeling

4
Point labeling
  • Label features like
  • cities
  • nodes of a graph

5
Line labeling
  • Label features like
  • Rivers
  • streets

6
Rules for line labeling
  • The label must follow the shape of the line (but
    not to strict)
  • At long lines the label must be repeated
  • No extra white spaces between characters
  • Vertical lines
  • Left of the map First letter towards the bottom
  • Right of the map First letter towards the top

7
Rules according Imhof(1962)
8
Area labeling
  • Label features like
  • Countries
  • Oceans

9
Rules for area labeling
  • Stretch label over whole the area
  • Areal labels preferably have the same shape
  • Use horizontal or curved labels
  • Evenly curved labels
  • Repeat labels at suitable intervals

10
Labeling quality
  • Problem of assigning text labels to graphical
    features such that association of labels is clear
  • The label assignment must be unambiguous
  • Lot of work is done by Imhof and Yoeli

11
Problematic cases
Problem association Thunder Bay and point
Problem readability name
Problem visibility highway 20
12
Basic rules for labeling quality
  • Labels should be easily read and easily and
    quickly located
  • No overlap of a label with other labels or other
    graphical features are allowed
  • Each label can be easily identified with exactly
    one graphical feature of the layout (the
    assignment is unambiguous)
  • Each label must be placed in the best possible
    position

13
COST-function
  • A optimal assignment can produces labels that do
    not strictly follow the rules
  • COST(i, j) is penalty for label j to edge i
  • Penalty with respect to the ranking of label j
  • Penalty for violating the basic rules

14
Labeling space
Discrete labeling space
Continuous labeling space
15
The ELP problem
  • ELP Is the problem of placing text labels
    assigned to particular edges of a graph
  • ELP problem has received little attention
  • Complexity is solved in 1996 and is NP-Hard by
    Kakoulis and Tollis
  • Most algorithms do not produce desired results
  • Trapped in local optima
  • Take exponential time
  • The ELP-algorithm

16
The optimal ELP problem
Question Find a labeling assignment that
minimizes the following function
17
The ELP algorithm
  • Assumptions
  • All labels have the same size
  • Each edge has only one label associated with it
  • Any acceptable solution must guarantee
  • Any label must be free of overlap (except his
    associated edge)
  • Any label must be very close (touch) to its
    associated edge

18
Main idea of the algorithm
  • Divide the input drawing into horizontal strips
    of equal height
  • Finite number of label positions
  • Find the set of label positions for each edge
  • Each position must be inside a strip
  • Each position has to touch a edge but not
    intersect this edge (or other graphical feature)
  • Each label position overlaps at most with one
    other label position

19
Example
20
Example
21
Example
22
Example
23
Matching problem
  • Transform ELP problem where each edge is matched
    to one of his label positions
  • Group label positions together
  • If two positions overlap they belong to the same
    group
  • Else to a single member group
  • Only one member of group in assignment
  • Guaranties labels do not overlap each other

24
Matching graph
  • Define matching graph Gm(Ve ,Vg ,Em)
  • Each node e inVe corresponds to an edge
  • Each node r in Vg corresponds to a group of label
    positions
  • Each edge(e, r) in Em connects a node e inVe to a
    node r in Vg if and only if e has a label
    positioning that belongs to group r
  • Gm is a bipartite graph
  • For each edge in Gm add the cost for assigning
    label

25
Example
1,2
3,4
g1
g2
g3
g4
g5
g1
g3
g4
g5
g2
g6
g6
26
ELP_Algorithm
  • INPUT A drawing D of the graph G(V, E)
  • OUTPUT A label assignment
  • Split D into horizontal strips
  • Find all label positions for each edge and
    construct the groups R
  • Create the matching graph Gm for D
  • Match edges to label positions , by finding a
    matching in Gm

27
Finding a matching
  • Theorem. Let A be the set of label positions for
    all edges of a drawing D of graph G(V, E). If
    every label position in A overlaps at most one
    other label position in A, then a maximum
    cardinality minimum weight matching of the
    corresponding matching graph Gm produces an
    optimal solution to the ELP problem with no
    overlaps.
  • You can use any known algorithm to find a maximum
    cardinality minimum weight matching

28
Fast Matching Heuristic
  • INPUT Matching graph Gm
  • OUTPUT A maximum cardinality matching for Gm
    with low weight
  • IF the minimum weight incident edge a node in VE
    connects this node to a node in VG of degree
    1THEN Assign this edge as a matched edge
    update Gm
  • IF a node in VE in has degree oneTHEN Assign
    its incident edge as a matched edge update Gm
  • Repeat steps 1 and 2 until no new edge can be
    matched
  • Delete all nodes of degree 0 from GmFOR each
    node e in VE DO Remove all but the two
    incidents edges of e with the least weight
  • The remaining graph consists of simple cycles
    and/or paths. Find the only two maximum
    cardinality matchings for each component. Choose
    the matching of minimum weight.

29
Step 1
  • INPUT Matching graph Gm
  • OUTPUT A maximum cardinality matching for Gm
    with low weight
  • IF the minimum weight incident edge a node in VE
    connects this node to a node in VG of degree
    1THEN Assign this edge as a matched edge
    update Gm
  • IF a node in VE in has degree oneTHEN Assign
    its incident edge as a matched edge update Gm
  • Repeat steps 1 and 2 until no new edge can be
    matched
  • Delete all nodes of degree 0 from GmFOR each
    node e in VE DO Remove all but the two
    incidents edges of e with the least weight
  • The remaining graph consists of simple cycles
    and/or paths. Find the only two maximum
    cardinality matchings for each component. Choose
    the matching of minimum weight.

30
Example step 1
Ve
Ve
Vg
Vg
31
Step 2
  • INPUT Matching graph Gm
  • OUTPUT A maximum cardinality matching for Gm
    with low weight
  • IF the minimum weight incident edge a node in VE
    connects this node to a node in VG of degree
    1THEN Assign this edge as a matched edge
    update Gm
  • IF a node in VE in has degree oneTHEN Assign
    its incident edge as a matched edge update Gm
  • Repeat steps 1 and 2 until no new edge can be
    matched
  • Delete all nodes of degree 0 from GmFOR each
    node e in VE DO Remove all but the two
    incidents edges of e with the least weight
  • The remaining graph consists of simple cycles
    and/or paths. Find the only two maximum
    cardinality matchings for each component. Choose
    the matching of minimum weight.

32
Example step 2
Ve
Ve
Vg
Vg
33
Fast Matching Heuristic
  • INPUT Matching graph Gm
  • OUTPUT A maximum cardinality matching for Gm
    with low weight
  • IF the minimum weight incident edge a node in VE
    connects this node to a node in VG of degree
    1THEN Assign this edge as a matched edge
    update Gm
  • IF a node in VE in has degree oneTHEN Assign
    its incident edge as a matched edge update Gm
  • Repeat steps 1 and 2 until no new edge can be
    matched
  • Delete all nodes of degree 0 from GmFOR each
    node e in VE DO Remove all but the two
    incidents edges of e with the least weight
  • The remaining graph consists of simple cycles
    and/or paths. Find the only two maximum
    cardinality matchings for each component. Choose
    the matching of minimum weight.

34
Fast Matching Heuristic
  • INPUT Matching graph Gm
  • OUTPUT A maximum cardinality matching for Gm
    with low weight
  • IF the minimum weight incident edge a node in VE
    connects this node to a node in VG of degree
    1THEN Assign this edge as a matched edge
    update Gm
  • IF a node in VE in has degree oneTHEN Assign
    its incident edge as a matched edge update Gm
  • Repeat steps 1 and 2 until no new edge can be
    matched
  • Delete all nodes of degree 0 from GmFOR each
    node e in VE DO Remove all but the two
    incidents edges of e with the least weight
  • The remaining graph consists of simple cycles
    and/or paths. Find the only two maximum
    cardinality matchings for each component. Choose
    the matching of minimum weight.

35
Example step 4
Ve
Ve
Vg
Vg
36
Fast Matching Heuristic
  • INPUT Matching graph Gm
  • OUTPUT A maximum cardinality matching for Gm
    with low weight
  • IF the minimum weight incident edge a node in VE
    connects this node to a node in VG of degree
    1THEN Assign this edge as a matched edge
    update Gm
  • IF a node in VE in has degree oneTHEN Assign
    its incident edge as a matched edge update Gm
  • Repeat steps 1 and 2 until no new edge can be
    matched
  • Delete all nodes of degree 0 from GmFOR each
    node e in VE DO Remove all but the two
    incidents edges of e with the least weight
  • The remaining graph consists of simple cycles
    and/or paths. Find the only two maximum
    cardinality matchings for each component. Choose
    the matching of minimum weight.

37
Example step 5
  • Traverse cycle (or path) and pick only the even
    or odd edges as part of the matching

Ve
Ve
Vg
Vg
38
Remark
  • Algorithm dont label horizontal edges
  • Solution rotate the drawing

39
Extension and results
  • Post processing step
  • Relaxing the restrictions by allowing labels to
    overlap their associated edges
  • The algorithm works very well for hierarchical
    and other straight-line drawing
  • Not suitable for orthogonal drawings

40
Result algorithm
41
The MLP problem
  • Konstantinos G. Kakoulis and Ioannis G. Tollis.
    On the multiple label placement problem. In Proc.
    10th Canadian Conf. Computational Geometry
    (CCCG98), pages 6667, 1998.
  • Each graphical feature is associated with more
    then one label
  • Constraints example with single edge and source
    and target node
  • Proximity Label Ls must be in close proximity
    with source node. Define maximum distance
  • Partial Order The source node label must closer
    to the source node then the other label. Define a
    partial order
  • Priority First important labels and then the
    other labels if there is a space

42
Algorithm 1
  • Algorithm for solving the MLP problem
  • Iterative approach
  • Main loop
  • i-th iteration of the loop, assigns the i-th
    label for graphical feature
  • This algorithm can take into account all three
    constraints
  • This algorithm can use the ELP-algorithm

43
Example
An orthogonal drawing A hierarchical drawing
44
Algorithm 2
  • Non-iterative fashion and extension of
    ELP-algorithm
  • Sketch algorithm
  • Find set of label positions for each graphical
    feature
  • Label positions that overlap each other are
    grouped in clusters
  • Each cluster is matched to at most one graphical
    feature using flow techniques

45
Graphs
  • First create bipartite graph matching graph Gm(Vf
    , Vc , Em)
  • Each graphical feature is represented by a node
    in Vf
  • Each cluster is represented by a node in Vc
  • Each edge in Em connect
  • Then transform Gm to a flow graph Gflow(s, t,Vf
    , Vc , Em)

46
Flow graph
  • The flow graph of algorithm 2

47
Flow graph
  • Assign capacities
  • Each edge of original matching graph has capacity
    one
  • Each edge (c, t) has capacity one
  • Each edge (s, v) has capacity equal to the number
    of labels associated with v
  • Include the cost of the label positioning for
    each edge
  • Solve the maximum flow minimum cost problem for
    the flow graph Gflow

48
Flow graph
  • The flow graph of algorithm 2

49
Example
Circular drawing with 3 labels per edge and node
50
Experimental Results
  • Both algorithms perform well and the same with
    respect to the success rate
  • The flow method produces a slightly better
    quality of label assignments
  • If labels have variable size the algorithm 1
    would be the best choice

51
  • Questions?
Write a Comment
User Comments (0)
About PowerShow.com