Organic Swimlane Layout

Organic swimlane layout is a specialized variant of organic layout in which it is possible for a user to define placement constraints for nodes.

In yEd, these constraints can be created using dedicated group node types, which are available in the palette section Swimlane Nodes and Table Nodes. These group nodes display columns, rows, or both. When calculating an organic swimlane layout, these columns and rows will keep their relative positions and the group’s content nodes will stay in their respective column and/or
row albeit the nodes within a given column or row may be rearranged as the algorithm deems appropriate.

Important Notice

Only top level swimlane and table nodes will be used to create placement constraints. Creating a swimlane or table node as the child node of another group node (or another swimlane or table node) will result in that node to be treated as a normal group node, i.e. the node’s columns and/or rows are ignored in this case and will not induce further placement constraints.

Visual Tab

Scope

All
The whole graph will be laid out.
Mainly Selection
The selected nodes will be rearranged. The unselected nodes are only allowed to move to a certain degree.
Only Selection
Only the selected nodes will be rearranged.

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.

None
The edges are considered to be undirected. No layout orientation is preferred.
Top to Bottom
The main layout orientation will be from top to bottom.
Left to Right
The main layout orientation will be from left to right.
Bottom to Top
The main layout orientation will be from bottom to top.
Right to Left
The main layout orientation will be from right to left.

Preferred Edge Length

Allows to specify the preferred length of all edges. The layouter tries to arrange the nodes in such a way that the edges have the desired edge length. The edge length is measured from node border to node border.

Consider Node Labels

Determines whether node labels should be considered in the layout process.

Allow Overlapping Nodes

Whether or not nodes are allowed to overlap. If this feature is disabled, the Minimal Node Distance will be used to arrange the nodes in such a way, that the given distance will be obeyed.

Minimal Node Distance

The minimal node distance which will be used if Allow Overlapping Nodes is disabled.

Avoid Node/Edge Overlaps

Whether or not nodes are allowed to overlap with edges.

Compactness

Adjusting this value can lead to a variety of differing layouts. For small values the resulting layout will use a lot of space and nodes tend to be far away from each other. Values around 0.5 lead to evenly distributed nodes, whereas values near 1.0 produce highly compact layouts.

Natural Clustering Algorithm

Allows to choose the algorithm that calculates natural clusters. The organic layout places nodes of the same natural cluster closely together and avoids overlapping of the drawing areas of different groups. This setting does not create group nodes.

None
No clustering algorithm is applied and, thus, the algorithms does not consider natural clusters.
Louvain Modularity
The detection of the natural clusters is based on the louvain modularity method.
Edge Betweenness
The detection of the natural clusters is based on the edge betweenness centrality algorithm.
Label Propagation
The detection of the natural clusters is based on a label propagation algorithm.

Handle Natural Cluster as Substructure

Whether or not detected clusters are taken into account as group substructures. Note that this option only has an effect if the natural clustering algorithm is not None and the group structures scope is set to All Groups or Groups without Inter-Edges.

Restrictions

This tab cannot be used for swimlane layout.

Grouping

Group Layout Policy

Determines the basic policy for the layout process. For swimlane layout this option is always equals to Layout Groups.

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.
Fix Bounds of Groups
The algorithm will keep both size and position of group nodes, but will rearrange all normal nodes of the graph.
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.

Algorithm Tab

Quality / Time Ratio

This setting can be used to adjust the quality versus the running time of the layout algorithm. Small values lead to short running times, while greater values result in better quality. For large graph structures (hundreds and thousands of nodes) it is advisable to begin with smaller values and to gradually increase them.

Maximal Duration (sec)

Sets the maximal duration of the layout process in seconds. If this upper bound is hit during the layout process, the quality of the layout
may not be optimal. In this case increasing this value increases the likeliness of an optimal layout.

Activate Multi-Threading

Whether or not the layout algorithm should use multi-threading to enhance the layout speed.

Substructure Layout Tab

The algorithm can be configured such that it uses predefined layout styles for specific substructures contained in the input graph.

Cycles

A cycle is a simple edge path where the first and last node are identical. The algorithm only considers cycles where the number of edges connecting nodes of the path with the remaining nodes is less or equal than two.

Ignore
The algorithm does not use a special layout style for cycles.
Circular
The identified cycles are drawn in circular layout style, i.e., such that all nodes lie on a circle.

Chains

A chain is a simple edge path where the degree of the nodes is less or equal than 2.

Ignore
The algorithm does not use a special layout style for chains.
Rectangular
The nodes of the chain are placed in a compact rectangular style.
Straight-Line
The nodes of the chain lie on a straight-line.

Stars

A star consists of a set of degree one nodes that are all connected to the same node (called the root of the star).

Ignore
The algorithm does not use a special layout style for stars.
Separated Radial
The set of degree one nodes associated with the same root are drawn as a separate structure in radial layout style. Compared to style “Radial”, this style does not place the nodes around the root node but in a separate structure connected to the root.
Radial
The set of degree one nodes associated with the same root are drawn in a radial layout style around the root node.
Circular
The set of degree one nodes associated with the same root are drawn in a circular layout style (i.e., a single cycle) around the root node.

Parallel Structures

A parallel structure consists of a set of nodes such that all nodes have degree two and are connected to the same pair of neighbors.

Ignore
The algorithm does not use a special layout style for parallel structures.
Straight-Line
The nodes of the parallel structure are placed in a straight-line.
Radial
The nodes of the parallel structure are placed in a radial layout style.
Rectangular
The nodes of the parallel structure are placed in a (rotated) rectangular layout style.

Tree Structures

Ignore
The algorithm does not use a special layout style for tree structures.
Balloon
The nodes of the tree structure are placed in a balloon layout style.
Oriented
The nodes of the tree structure are placed in a directed, oriented layout style.
Radial
The nodes of the tree structure are placed in a radial layout style.

Selected Nodes

Allows to specify the desired shape of the layout for the selected nodes. Note that this feature only considers nodes that are not part of other substructures and requires at least four selected nodes.

Ignore
The algorithm does not produce a special shape for the selected nodes.
Circle
The algorithm tries to produce a layout shape of the selected nodes that resembles a circle.
Ellipse
The algorithm tries to produce a layout shape of the selected nodes that resembles an ellipse.
Square
The algorithm tries to produce a layout shape of the selected nodes that resembles a square.
Rectangle
The algorithm tries to produce a layout shape of the selected nodes that resembles a rectangle.

Group Structures Scope

Group substructures that lie in the specified scope are treated as substructures in the layout process, i.e., the child nodes are arranged on a compact disk that is contained in the group node.

No Groups
Scope specifier for group substructures indicating that no group substructures are handled in the layout process.
All Groups
Scope specifier for group substructures indicating that any group substructure is handled in the layout process.
Groups without Inter-Edges
Scope specifier for group substructures indicating that a group substructure is handled in the layout process if no of its child nodes has edges to nodes that do not belong to the group.
Groups without Edges
Scope specifier for group substructures indicating that a group substructure is handled in the layout process if no of its child nodes has edges.

Arrows define Edge Direction

If enabled, the arrowheads will be used to derive the direction of edges. An edge with an arrow at one end is considered to be directed. An edge without arrows or with arrows at both ends is considered to be undirected, which means that its direction is not important. The layout algorithm will use this information to determine the substructures, i.e., nodes may only be associated with the same substructure if this complies with the specified direction of the incident nodes. For example all edges of a chain or circle have to be directed in the same direction.

If this feature is disabled, all edges will be treated as undirected edges.

Use Edge Grouping

If enabled, the algorithm uses a grouped routing style for edges of parallel structures as well as for stars if the style is set to “Separated Radial”.

If this feature is disabled, all edges are routed as straight lines.

Separate Node Types

If enabled, nodes of different type are strictly separated during the substructure detection, see Node Types.

Node Types

Determines the type of the nodes. The node type affects the detection of substructures (e.g. star structures, cycles, chains). If types are defined, each substructure either consists of nodes that all have the same type or only of nodes without type. For parallel and star structures, the organic layout furthermore offers to turn off this strict separation (see Separate Node Types), with the effect that types are still considered, but only within a structure to, e.g., improve the ordering of nodes.

None
The nodes have no types.
Defined by Color
The type is defined by the node color. Nodes with the same color have the same type.
Defined by Label
The type is defined by the node label. Nodes with the same label have the same type.

Swimlanes Tab

Minimum insets

This option specifies the minimum distance of nodes to the border of their swimlane or table cell.

Compact Swimlanes

This option determines whether swimlanes and table cells may be shrinked (if possible) in the layout process.