Preview Image

Property Value
Meta Data Provider: layouter.GraphvizMetaDataProvider


Layered drawings of directed graphs. The algorithm aims edges in the same direction (top to bottom, or left to right) and then attempts to avoid edge crossings and reduce edge length. Edges are routed as spline curves and are thus drawn very smoothly. This algorithm is very suitable for state machine and activity diagrams, where the direction of edges has an important role.

Category: Layered

The layer-based method was introduced by Sugiyama, Tagawa and Toda in 1981. It emphasizes the direction of edges by pointing as many edges as possible into the same direction. The nodes are arranged in layers, which are sometimes called “hierarchies”, and then reordered such that the number of edge crossings is minimized. Afterwards, concrete coordinates are computed for the nodes and edge bend points.

Supported Graph Features

Name Description
Self Loops Edges connecting a node with itself.
Multi Edges Multiple edges with the same source and target node.
Edge Labels Labels that are associated with edges.
Compound Edges that connect nodes from different hierarchy levelsand are incident to compound nodes.
Clusters Edges that connect nodes from different clusters, but not the cluster parent nodes.

Supported Options

Option Default Value
Adapt Port Positions true
Concentrate Edges false
Debug Mode false
Direction Direction.DOWN
Edge Label Spacing 2
Edge Routing EdgeRouting.SPLINES
Hierarchy Handling HierarchyHandling.INHERIT
Iterations Factor 1
Label Angle -25
Label Distance 1
Layer Spacing Factor 1
Node Size Constraints EnumSet.noneOf(SizeConstraint)
Node Size Options EnumSet.of(SizeOptions.DEFAULT_MINIMUM_SIZE)
Node Spacing 20
Padding new ElkPadding(10)