ELK VertiFlex

Property Value
Identifier: org.eclipse.elk.vertiflex
Meta Data Provider: options.VertiFlexMetaDataProvider

Description

Tree layout algorithm that allows defining set vertical positions for nodes rather than automatically placing nodes on levels according to their topology.

Category: Tree

Specialized layout methods for trees, i.e. acyclic graphs. The regular structure of graphs that have no undirected cycles can be emphasized using an algorithm of this type.

Supported Graph Features

Name Description
Multi Edges Multiple edges with the same source and target node.
Edge Labels Labels that are associated with edges.

Additional Documentation

Vertiflex is a special tree drawing algorithm that diverges from the classic aesthetic constraint that requires nodes to be assigned to discrete layers. Instead each node may now come with its own defined height constraint. Nodes that do not define their own height constraint are assigned a location based on the defined spacings and the other nodes in the graph.

The wrapper node in the example illustrates the vertical constraints. The node n1 has a vertical constraint of 115 (see ELK’s coordinate system. The node’s n4, n7 and n8 have no vertical constraint and are placed below n3 to satisfy the specified node node spacing.

Supported Options

Option Default Value
Consider node model order true
Edge layout strategy EdgeRoutingStrategy.STRAIGHT
Fixed vertical position <not defined>
Inline Edge Labels false
Interactive false
Layer distance 50.0
Margins new ElkMargin()
Node Spacing 20
Omit Node Micro Layout false
Padding new ElkPadding(5)
Port Constraints PortConstraints.UNDEFINED