The radial layout places nodes in concentric rings centered and a root node of a pre-calculated internal strcuture, according to their level at to their parent polar position. This layout supports all type of graphs and provides options for root node selection (directed root, manual,..). General versions of Radial layout does not support automatic nodes averlapping avoidance, Kap Radial Layout do.
The layout places each node in a concentric ring corresponding to its distance(depth) to the root node (level) or focus node (for general graphs). The nearest to the root node the nodes are, the smallest the concentric ring, in which they lays, is. Each sub-tree will be radially centered on its parent node. The number of concentric rings is exactly equal to the number of levels. The angular position of a node on its ring is determined by the angular wedge (sector) of the ring allocated to it which is proportional to the parent angular wedge.
This layout takes as input the number of nodes of a given Graph and their connections to compute an internal structure based on the graph topology and the user preferences. In fact, if the graph is Tree and digraph, the unique root node and the correspondent internal structure are computed. However, if the graph is not a digraph, whether the graph is a tree or not, the layout algorithm automatically select the most weighted node, having the maximal number of links. Therefore, the layout is able to handle effectively any graph type (by ignoring cycles) using different root selection policies.
The radial layout shares a set of options for more usability :
- minimum concentric rings radius (minimalRadius) : controlling layout compactness;
- ring angular sector via angle1 and angle2: controlling angular sector in which nodes children are laïd : By default, nodes children are laid in concentric rings (circles), hopefully, developer can choose to lay nodes children on a given circle sector identified by its angular wedge. It is evident that when decreasing this value, the graph dimensions increases as rings radius are incremented to avoid overlapping.
- nodes spacing (nodeSpacing);
- edges drawing (edgeDrawing): all the edge types that are provided with the Hierarchical Tree Layout are also handled by this Layout for nicer output.
For network representation, social networking (visualizing friends levels, professional networks...) and web analysis (web links...), the radial layout is extremely used. With our provided options, this layout can be suited for every specific application related to these domains.
Projects using this layout : Visualizer and Diagrammer