Hierarchic is a layout style that
portraits the precedence relation of directed graphs. It is
ideal for many application areas, especially for
- Workflow
- Software Engineering
- Customer relationship management
- Configuration management
- Process modeling
- Database Modeling
- Bio informatics
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.