Hierarchic

Hierarchic is a layout style that portraits the precedence relation of directed graphs. It is ideal for many application areas, especially for

Use Hierarchic layout style to highlight the main direction or flow within a directed graph. Cyclic dependencies of nodes will be automatically detected and resolved. Nodes will be placed in hierarchically arranged layers. Additionally the ordering of the nodes within each layer is chosen in such a way that the number of line (or edge) crossings is small.

Layout Tab

Minimal Layer Distance

Determines the minimal distance between nodes that reside in adjacent layers.

Minimal Node Distance

Determines the minimal distance between adjacent nodes that reside in the same layer

Minimal Edge Distance

Determines the distance between adjacent pairs of horizontal edge segments and between horizontal edge segments and nodes.

Minimal First Segment Length

Determines the minimal length of the first and last segments for orthogonal edge routings, i.e. the length from the intersection points to the first or last bend point respectively.

Maximal Duration

Sets the maximal duration of the layout process in seconds. The maximal duration is a soft bound which may be exceeded in case essential parts of the layout calculation are still missing. Most likely the layout quality will increase with a longer calculation period. In most cases the layouter will consume the complete time assigned to it.

Orientation

Determines the main layout orientation. The algorithm tries to arrange nodes in such a way that all edges point in the main layout direction.

Top to Bottom
The main layout orientation will be from top to bottom. Note that the documentation for the other layout options assumes that this default layout orientation is being used.
Bottom to Top
The main layout orientation will be from bottom to top.
Left to Right
The main layout orientation will be from left to right.
Right to Left
The main layout orientation will be from right to left.

Node Placement

Influences the horizontal spacing between nodes, the number of bends of the edges and the overall balance of the layout.

Linear Segments
Nodes will be placed in such a way that edge segments tend to have very few bends. This is a very good choice in combination with Orthogonal Edge Routing. Disadvantage of this placement policy is that the width of the layout will increase.
Polyline
Nodes will be placed in such a way that the width of the layout gets very small without introducing node overlaps. A drawback of this placement policy is that edges will have a lot of bends.
Pendulum
A sound combination of Linear Segments and Polyline
Simplex
Produces high quality drawings. This node placer is based on the network simplex approach. Similar to Linear Segments the nodes will be placed in such a way that edge segments tend to have very few bends. Additionally the resulting layout will be more balanced and more compact. This node placer tends to be slower than the other choices.
Median Simplex
This drawer is based on the Simplex drawer, but produces slightly different results. It tends to produce more locally symmetric layouts for the sake of a few more bends.
Tree
Produces very nice layouts in case the graph is a tree. If the graph is not a tree the placement policy Linear Segments will be used.

Edge Routing

Polyline
Edge paths will be routed as a polyline with a certain number of bends.
Orthogonal
Edge paths will be routed in an orthogonal style, i.e. only vertical and horizontal line segments will be used. Orthogonal edge routing increases the height of the layout.

Backloop Routing

If enabled all edges that do not point in the main layout direction will be routed as backloops. Backloops start at the bottom side of their source node, then turn around 180 degrees, go upward, then turn around 180 degrees again and finally connect to the upper side of their target node.

Act on Selection Only

Whether or not to act on selected nodes and edges that are connected to selected nodes only.

Node Rank Tab

The layouter puts each node in a horizontal layer together with other nodes. The number of the layer where a node resides is called node rank.

Ranking Policy

Hierarchical - Topmost
All nodes with indegree zero will be assigned the topmost layer of the layout.
Hierarchical - Optimal
The layer distance of an edge is the absolute difference between the ranks of its source and target node. Layer assignment will be done in such a way that the overall sum of the layer distances of all edges in the layout is minimal.
Hierarchical - Tight Tree Heuristic
A fast heuristic that approximates the ranking done by Simplex.
Hierarchical - Downshift Heuristic
An even faster heuristic that approximates the ranking done by Simplex. Usually the quality is worse than the one produced by Tight Tree.
From Sketch
A very interesting ranking policy that uses the initial y-coordinates of the nodes to determine a node layering. It tries to find a layering that is similar to the one in the input graph. When this ranking policy is used, the layouter may place nodes that are connected by an edge in the same layer. These inner layer edges are always routed in an orthogonal style.
BFS Layering
Ranking based on a breadth first search. All edges will span at most one layer in the resulting drawing. Edges between nodes that belong to the same layer are possible. Places all selected nodes in the first layer. If no nodes are selected then nodes that have no incoming edges are placed in the first layer.

Node Order Tab

Options in this tab influence the ordering of the nodes within a layer and thus the number of edge crossings of the resulting layout.

Weight Heuristic

Determines the strategy used to find a better node ordering within a layer.

Barycenter
Uses the barycenter method.
Median
Uses the median method.

Use Transposition

If enabled a post-processing further reduces the number of edge crossings. The post-processing step can be rather time consuming.

Remove False Crossings

If enabled a post-processing step tries to eliminate all false edge crossings. A false edge crossing is an edge crossing between two edges that share a common terminal node.

Randomization Rounds

Determines the number of rounds that are initialized using different randomized starting positions. Greater values can lead to fewer crossings and longer running times. Huge graph structures with lots of inherent crossings should be processed using smaller values.

Labeling Tab

Options in this tab determine the edge labeling strategy used by this layouter.

Edge Labeling

None
Automatic edge labeling is deactivated.
Hierarchic
Edge labels will be considered in the hierarchic layout process. Nodes and edges will be arranged in such a way that there is enough space for the edge labels not to overlap.
Generic
Edge labels will be automatically placed after the hierarchic layouter has placed the nodes and edges. Edge labels may overlap with other elements if there is not enough space to place the labels properly. The resulting graph layout remains compact.

Edge Label Model

Determines which positions will be available for the edge labels.

Best
The default. Chooses the model that fits the specified edge labeling strategy best.
As Is
Uses the individual label models that are currently set on the input graph. Individual models for edge labels can be changed in the edge or edge label property dialog.
Center Slider
A label model allows labels to be placed somewhere on the corresponding edge path. This option is a good choice for Generic and Hierarchic edge labeling.
Side Slider
A label model allows labels to be placed along both sides of the edge path. This option is a good choice for Generic edge labeling.
Free
A label model that allows labels to be placed anywhere. This model is a very good choice for Hierarchic edge labeling. It is not compatible with Generic edge labeling and should therefore not be used in that combination.

Grouping Tab

This tab can be used to configure the behavior of the layout algorithm if used on nested/grouped graphs.

Group Layout Policy

Determines the basic policy for the layout process.
Layout Groups
Instructs the algorithm to recursively layout groups and open folders. All visible nodes' positions will be recalculated.
Fix Contents of Groups
The algorithm will keep the relative position of nodes inside of groups and performs the layout on the top level only. Edges connecting to the inside of groups will be rerouted separately.
Ignore Groups
This setting will make the algorithm ignore group nodes entirely. Nodes will be rearranged as if there were no group nodes. This may lead to overlapping group nodes finally.

Use Global Sequencing

This setting can be used to activate an alternative sequencing algorithm that calculates the node order. This algorithm tends to give better results for complex node nestings but may produce more crossings locally than the default algorithm.