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.
Figure showing the current layout without flexible node size and the existing ONO (obviously not optimal) parts of a layout with flexible node size
Master's (Bachelor's) Thesis
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
Sören Domrös
sdo@ifi