Organic is a multi-purpose layout style for undirected graphs. It produces clear representations of complex networks and is especially fit for application areas such as
The Organic Layouter is based on the force directed layout paradigm. When laying out a graph nodes are considered to be physical objects with mutually repulsive forces, like protons or electrons. The connections between nodes also follow the physical analogy and are considered to be metal springs attached to pairs of nodes. These springs produce repulsive or attractive forces between their endpoints if they are too short or too long. The layouter simulates these physical forces and rearranges the positions of the nodes in such a way that the sum of the forces emitted by the nodes and the edges reaches a (local) minimum.
Resulting layouts often expose the inherent symmetric and clustered structure of a graph, a well-balanced distribution of nodes, and few edge crossings.
The layouter is well-suited for the visualization of highly connected backbone regions with attached peripheral ring or star structures. These structurally different regions of a network can be easily identified by looking at a drawing produced by this layouter.
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 you 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.
Integrated Edge Labeling
Determines whether or not the layout algorithm will place edge labels. The applied strategy tries to ensure that the edges are long enough to place the associated labels without overlapping each other. However, the applied simulation-based algorithm cannot always guarantee such results. Furthermore, the labels of an edge can overlap with other graph elements, including labels of other edges.
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
Output Area
The graph will be arranged to fit into a given area. Different types of areas can be specified.
Grouping
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.
- 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 (calledthe 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.