The TikZ and PGF Packages
Manual for version 3.1.10
33 Graph Drawing Algorithms: Circular Layouts
by Till Tantau
Graph Drawing Library circular ¶
\usegdlibrary[circular] % ConTeXt
“Circular” graph drawing algorithms arrange the nodes of a graph on one of more circles.
/graph drawing/simple necklace layout=⟨string⟩ ¶
• Bettina Speckmann and Kevin Verbeek, Necklace Maps, IEEE Transactions on Visualization and Computer Graphics, 16(6):881–889, 2010.
1. The (angular) distance between the centers of consecutive nodes is at least node distance,
2. the distance between the borders of consecutive nodes is at least node sep, and
3. the radius is at least radius.
This simple layout arranges the nodes in a circle, which is especially useful for drawing, well, circles of nodes. The name simple necklace layout is reminiscent of the more general “necklace layout”, a term coined by Speckmann and Verbeek in their paper
For a simple necklace layout, the centers of the nodes are placed on a counter-clockwise circle, starting with the first node at the grow direction (for grow', the circle is clockwise). The order of the nodes is the order in which they appear in the graph, the edges are not taken into consideration, unless the componentwise option is given.
When you give the componentwise option, the graph will be decomposed into connected components, which are then laid out individually and packed using the usual component packing mechanisms:
The nodes are placed in such a way that
The radius of the circle is chosen near-minimal such that the above properties are satisfied. To be more precise, if all nodes are circles, the radius is chosen optimally while for, say, rectangular nodes there may be too much space between the nodes in order to satisfy the second condition.