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.
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.
- 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.
Determines the main layout orientation. The algorithm tries to arrange nodes in such a way that all edges point in the main layout direction.
- 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.
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.
- 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.
This tab cannot be used for swimlane layout.
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.
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.
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.
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.
- The algorithm does not use a special layout style for cycles.
- The identified cycles are drawn in circular layout style, i.e., such that all nodes lie on a circle.
A chain is a simple edge path where the degree of the nodes is less or equal than 2.
- The algorithm does not use a special layout style for chains.
- The nodes of the chain are placed in a compact rectangular style.
- The nodes of the chain lie on a straight-line.
A star consists of a set of degree one nodes that are all connected to the same node (called the root of the star).
- 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.
- The set of degree one nodes associated with the same root are drawn in a radial layout style around the root node.
- 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.
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.
- The algorithm does not use a special layout style for parallel structures.
- The nodes of the parallel structure are placed in a straight-line.
- The nodes of the parallel structure are placed in a radial layout style.
- The nodes of the parallel structure are placed in a (rotated) rectangular layout style.
- The algorithm does not use a special layout style for tree structures.
- The nodes of the tree structure are placed in a balloon layout style.
- The nodes of the tree structure are placed in a directed, oriented layout style.
- The nodes of the tree structure are placed in a radial layout style.
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.
- The algorithm does not produce a special shape for the selected nodes.
- The algorithm tries to produce a layout shape of the selected nodes that resembles a circle.
- The algorithm tries to produce a layout shape of the selected nodes that resembles an ellipse.
- The algorithm tries to produce a layout shape of the selected nodes that resembles a square.
- 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.
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.
- 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.
This option specifies the minimum distance of nodes to the border of their swimlane or table cell.
This option determines whether swimlanes and table cells may be shrinked (if possible) in the layout process.