A radial tree, or radial map, is a method of displaying a tree structure (e.g., a tree data structure) in a way that expands outwards, radially. It is one of many ways to visually display a tree,[1] [2] with examples dating back to the early 20th century.[3] In use, it is a type of information graphic.
The overall distance "d" is the distance between levels of the graph. It is chosen so that the overall layout will fit within a screen. Layouts are generated by working outward from the center, root. The first level is a special case because all the nodes have the same parent. The nodes for level 1 can be distributed evenly, or weighted depending on the number of children they have. For subsequent levels, the children are positioned within sectors of the remaining space, so that child nodes of one parent do not overlap with others.
There are many extensions to this algorithm to create more visually balanced layouts, to allow users to navigate from node to node (changing the center),[4] or accommodate node labels and combine force-directed layouts with radial layouts.[5]
The layout has some similarities to a hyperbolic tree, though a key difference is that hyperbolic trees are based on hyperbolic geometry, whereas in a radial tree the distance between orbits is relatively linear.
In a simple case, the first node is at the top, and the linked nodes are beneath. As each node typically has more than one child, the resulting shape is relatively triangular. In a radial layout, instead of each successive generation being displayed a row below, each generation is displayed in a new, outer orbit.
Since the length of each orbit increases with the radius, there tends to be more room for the nodes. A radial tree will spread the larger number of nodes over a larger area as the levels increase. We use the terms level and depth interchangeably.[6] Nevertheless, the number of nodes increases exponentially with the distance from the first node, whereas the circumference of each orbit increases linearly, so, by the outer orbits, the nodes tend to be packed together.