documentationfor yFiles for HTML 3.0.0.2

EdgeBundling

An EdgeBundling instance defines if and how the edges of a graph should be bundled by an ILayoutAlgorithm, given that the algorithm supports edge bundling.

Inheritance Hierarchy
EdgeBundling

Remarks

Bundling together multiple edges means that their common parts are to some degree merged into a bundled part. At the source and target point, the edges are again clearly split. Edge bundling is useful to increase the readability of graph drawings with a high number of edges that connect a comparably small number of nodes. Without bundling, such drawings can often contain visual clutter and feature bad readability.

The bundling strength and quality are global settings for the bundling process. On the other hand, each edge can get specific settings by assigning a EdgeBundleDescriptor to it. A IMapper<K,V> can be registered with the input graph with key EDGE_BUNDLE_DESCRIPTOR_DATA_KEY to assign descriptors to edges. This allows, for example, to define which edges should actually be bundled. For most layout algorithms, there is a corresponding LayoutData<TNode,TEdge,TNodeLabel,TEdgeLabel> that simplifies the process of assigning EdgeBundleDescriptors.

The following layout algorithms/stages currently support bundling.

Example of edge bundling with CircularLayout Example of edge bundling when applying TreeReductionStage and RadialTreeLayout on a general graph

This class cannot be instantiated

Default Values of Properties

bundlingQuality0.5
bundlingStrength0.95
defaultBundleDescriptorEdgeBundleDescriptor

Type Details

yFiles module
algorithms

See Also

Properties

Constants