Based on a topology-shape metrics, the Orthogonal layout places nodes with approaches that reduce the number of edge crossings and optimize area occupation. In such a layout, edges runs horizontally or vertically, making the optimization process enough complicated. The resulting graph is a pleasing, clear and understandable, with few bends and crossings. Edges are optimized in the same way but can be rendered differently (Pseudo Orthogonal or Strict Orthogonal). The complexity of the algorithm leads to the fact that it is not very responsive to dense graphs having more than 200 nodes. This Layout takes as input the number of nodes of a given Graph and their connections to compute an internal structure based on the graph topology and the user preferences. Edge crossings will be minimized at a first step using some intermediate data structure before computing bends and placing nodes.Several options have been added to this layout for a higher customization level:
nodeSpacing: controlling graph compactness;
usePseudoOrthogonalEdges: Pseudo Orthogonal Edges (Edge mix) or Strict Orthogonal Edge.
The orthogonal layout is suited for software engineering (UML, Use Cases, Database Schema representation), VLSI, information visualization and chemical pathways.
The Hierarchical layout can be used for all types of tree hierarchies (XML files, database structure, organization description...). It is also suited for representing UML inheritance.
This print screen shows an example the orthogonal layout representation: