Layout Features Tutorial

Cactus Group Layout

This demo shows how to create a beautiful layout of a grouped graph using the CactusGroupLayout.

It arranges a hierarchically grouped graph so that children of a group are placed adjacent to the group along its circular border (thus, resembling the structure of a cactus). This way, the positions of the nodes implicitly represent the group hierarchy.

  • To get good results using the cactus layout, the style of the nodes and group nodes should be round. In this tutorial, both use an elliptical ShapeNodeStyle where group nodes are gray and leaf nodes are colored.
  • Green leaf nodes have the parent overlap ratio set to 0.5, whereas red leaf nodes have it set to 0, meaning that they do not overlap with their parent group.
  • The cactus algorithm supports ray-like node labeling, which is shown with an example label at each leaf node.
  • The edges are drawn as bezier curves and using bundling in this tutorial example. This can be configured via the edge bundling property.

Code Snippet

You can copy the code snippet to configure the layout from GitHub.

Documentation

The Developer's Guide provides in-depth information about the Cactus Group Layout and its features.