The classic Sugiyama graph drawing algorithm consists of 5 phases: cycle breaking, layer assignment, crossing minimization, node placement and edge routing. Node placement sets the x-coordinates of nodes (in a downward layout) and creates alignment between nodes, improves edge straightness, or balances nodes based on their incoming edges. Node sizes can also be used to eliminate edge bends by increasing the size of nodes, as seen below, which makes the drawing easier to read, edges easier to follow and therefore easier to understand.

jette-stpa-oyes-bad.png

jette-stpa-oyes.png

Figure showing the current layout without flexible node size and the existing ONO (obviously not optimal) parts of a layout with flexible node size

Goals

  • Improve the existing Network Simplex node placement strategy with flexible node size by:
    • centering edges on their nodes if it does not compromise the quality of the layout, if necessary by increasing node sizes even more
    • minimize the size of the drawing if possible
  • (optional) Explore options that need configuration depending on the context.
    • alignment of edges, ...

Scope

Master's (Bachelor's) Thesis

Related Work/Literature

Emden R. Gansner, Eleftherios Koutsofios, Stephen C. North, Kiem-Phong Vo, A technique for drawing directed graphs. Software Engineering 19(3), pp. 214-230, 1993.

Ulf Rüegg, Sugiyama Layouts for Prescribed Drawing Areas (KCSS 2018/1), Chapter 4.1: Network Simplex Approach

Involved Languages/Technologies

Supervised By

Sören Domrös

sdo@ifi

Tags: