Orthogonal is a multi-purpose layouter for undirected graphs. It produces clear representations of complex networks and is especially fit for application areas such as
The layouter is well suited for medium sized sparse graphs. It produces compact drawings with no node overlaps, few crossings, and few bends. All edges will be routed in an orthogonal style, i.e. only vertical and horizontal line segments will be used.
- Node sizes will not be changed by this layouter. The drawing will contain very few bends only.
- Uniform Node sizes
- Node sizes will all be changed to an equal size before being laid out.
- Node Boxes
- Nodes are resized according to the number and position of their neighbors to reduce the overall number of bends.
- Resembles Node Boxes but resizes all nodes to equal size by introducing additional bends and routing the last line segment of these edges non-orthogonally to their adjacent nodes.
- Mixed (Size Fixed)
- Like Mixed but maintains original node sizes.
- Node Boxes (Size Fixed)
- Like Node Boxes but maintains original node sizes.
Defines the virtual grid spacing used by the layouter. Each node will be placed in such a way that its center point lies on a grid point. Edges will be routed in such a way that their segments lie on grid lines if the terminal nodes of the edges permit suitable port placements. Note that this option is only guaranteed to be obeyed for Normal layout style while being used as a hint only for the other styles.
Use Existing Drawing As Sketch
If enabled, the layouter will interpret the initial graph layout as a sketch of the resulting orthogonal layout. The layouter tries to "orthogonalize" the given sketch without making too much modifications in respect to the original drawing.
Align Degree-One Nodes
If enabled, the algorithm tries to align degree-one nodes having the same neighbor.
Route multi-edges in parallel
If enabled, the algorithm uses a special routing for multi-edges (edges with same source and target node) such that the routes are parallel. Note that the integrated edge labeling is not supported for such edges.
Uniform Port Assignment
If enabled, the algorithm may insert additional bends in order to obtain a more uniform port assignment.
Minimum First Segment Length
Determines the minimum length of the first edge segment.
Minimum Last Segment Length
Determines the minimum length of the last edge segment.
Minimum Segment Length
Determines the minimum length of an edge segment.
Specifies a preferred time limit (in seconds) for the layout algorithm. Note that restricting the maximal duration may reduce the overall layout quality. Furthermore, the actual runtime may exceed the maximal duration because the layout algorithm still has to find a valid solution.
Substructure Layout Tab
Subtree Layout Style
Specifies the tree layout style that defines the basic arrangement style for subtrees.
- A tree layout style that defines that subtrees should not be handled specifically.
- A tree layout style that arranges subtrees in a layered tree fashion with grouped edge routes.
- A tree layout style that aims to create maximally compact layouts for the subtrees.
Specifies the desired orientation for subtree layouts.
- Automatic (free)
- The layout orientation for subtrees is chosen automatically.
- Top to Bottom
- The layout orientation for subtrees is from top to bottom.
- Bottom to Top
- The layout orientation for subtrees is from bottom to top.
- Left to Right
- The layout orientation for subtrees is from left to right.
- Right to Left
- The layout orientation for subtrees is from right to left.
Minimum Tree Size
Specifies the minimum size (number of nodes) a subtree needs to have to be detected and explicitly handled as a tree substructure.
Chain Layout Style
Specifies the chain layout style that defines how chain substructures are arranged.
- A chain layout style that defines that chains should not be handled specifically.
- Wrapped - Nodes at Turns
- A chain layout style that defines that chains are line/column-wrapped such that nodes form the turns/corners of the chain arrangement.
- Wrapped - Bends at Turns
- A chain layout style that defines that chains are line/column wrapped such that bends of the chain edges form the turns/corners of the chain arrangement.
Minimum Chain Size
Specifies the minimum size (number of nodes) a chain needs to have to be detected and handled as a chain substructure.
Cycle Layout Style
Specifies the cycle layout style that defines how cycle substructures are arranged.
- A cycle layout style that defines that cycles should not be handled specifically.
- Circular - Nodes at Corners
- A cycle layout style that defines that cycle structures are arranged in a circular fashion such that nodes form the corners of the circular layout.
- Circular - Bends at Corners
- A cycle layout style that defines that cycle structures are arranged in a circular fashion such that bends of cycle edges form the corners of the circular layout.
Minimum Cycle Size
Specifies the minimum size (number of nodes) a cycle needs to have to be detected and explicitly handled as a cycle substructure.
Options in this tab determine the edge labeling strategy used by this algorithm.
- Automatic edge labeling is deactivated.
- Edge labels will be considered during the layout process. Nodes and edges will be arranged in such a way that there is enough space for the edge labels and nodes not to overlap.
- Edge labels will be automatically placed after the algorithm has placed the nodes and edges. Edge labels may overlap with other entities 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.
- 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 that allows labels to be placed somewhere on the corresponding edge path.
- Side Slider
- A label model that allows labels to be placed along both sides of the edge path. This option is a good choice for Generic edge labeling.
- A label model that allows labels to be placed anywhere. This model is a very good choice for Integrated edge labeling. It is not compatible with Generic edge labeling and therefore cannot be used in that combination.
Consider Node Labels
Determines whether node labels should be considered in the layout process.
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 layout groups and open folders as well as their contents in a global manner. 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.
- 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.