1 / 51

Label Placement and graph drawing

Label Placement and graph drawing. Imo Lieberwerth. Overview. Introduction The Edge Label Placement problem The Multiple Label Placement problem. Introduction. Automated label placement originates from the Cartography Many years of research Three types: Point labeling Line labeling

misha
Download Presentation

Label Placement and graph drawing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. 1 3 4 2 Example

  20. 1 3 4 2 Example

  21. 1 3 4 2 Example

  22. 1 3 4 2 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 Vgcorresponds to a group of label positions • Each edge(e, r) in Emconnects 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. 1 3 4 2 Example 1,2 3,4 g1 g2 g3 g4 g5 g2 g5 g1 g6 g3 g4 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 Gmfor 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 don’t 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 (CCCG’98), pages 66–67, 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

More Related