Clustering mode (CL)

The Circular Layout algorithm has three clustering modes.
Example of selecting a clustering mode (CL algorithm)
To select a clustering mode:
In CSS
Add to the GraphLayout section:
clusteringMode : "BY_SUBGRAPHS";
In Java
Use the method:
void setClusteringMode(int mode);    
The valid values for mode are:
  • IlvCircularLayout.BY_CLUSTER_IDS (the default): Cluster identifiers need to be explicitly provided for each node (see Cluster membership and order of the nodes in a cluster (CL)). The specified node ordering is preserved and no link crossing reduction is performed. A tree-like algorithm places the clusters.
  • IlvCircularLayout.AUTOMATIC : This mode is similar to the mode BY_CLUSTER_IDS , but does not require any specification of clusters. The graph is divided into clusters by analyzing the topology of the graph. Biconnected components form initial clusters. The remaining nodes that do not belong to any (nontrivial) biconnected component form star clusters if their degree is larger than the star cluster threshold. Then, the initial clusters are merged, if they are smaller than the minimal size of a cluster, or split, if they are larger than the maximal size of a cluster. This mode arranges the nodes of each cluster so that the number of link crossings is small.
  • IlvCircularLayout.BY_SUBGRAPHS : The algorithm handles a nested graph, including intergraph links. It arranges the nodes of each subgraph in a circle, so that the number of link crossings is small. It respects the intergraph links and rotates the cluster so that the number of link crossings is small. It assumes that all nodes are nearly square and that all nodes are in subgraphs, but the subgraph nesting is only one level. Nodes that are inside subgraphs of subgraphs are not handled. In this mode, each subgraph keeps its initial position. The subgraphs can be placed either by a different layout algorithm or interactively.