Hierarchical Edge Bundling
This example visualizes software class dependencies using hierarchical edge bundling. A radial cluster layout positions classes from the Flare dataset, while dependency links are grouped and smoothed into spline bundles using `d3.radialLine` with `d3.curveBundle` drawn as SVG paths. The code builds a package hierarchy from class names with `d3.hierarchy` and uses `d3.cluster()` to compute node coordinates. Package groupings determine which edges are bundled together, revealing structural patterns in the codebase through the density of connections.
AI-generated descriptionAn implementation of Danny Holten's hierarchical edge bundling algorithm in D3, showing dependencies between classes in a software class hierarchy. Dependencies are bundled according to the parent packages. This example uses two layouts: a radial d3.layout.cluster to position the tree nodes, and d3.layout.bundle to group the dependencies into spline bundles. Thanks to Jason Davies for contributing the layout implementation!
Compare to this treemap layout.
See also the interactive version with link highlighting!
forked from <a href='http://bl.ocks.org/mbostock/'>mbostock</a>'s block: <a href='http://bl.ocks.org/mbostock/1044242'>Hierarchical Edge Bundling</a>