3DHEB is a graph bundling algorithm that bundles edges of a graph to reveal connectivity patterns. 3DHEB allows to tackle large graphs (tested on graphs with 5M edges) and has low computation times when compared to previous bundling algorithms. In addition, it allows specifying different bundling criteria.
The algorithm is described here: arxiv.org/abs/1504.02687.
Currently, a basic implementation of the algorithm is provided. The code is fully compatible with Processing (Java and JavaScript).
This code is a simplified version of the code used in the paper. Features requiring Java libraries were not included
(e.g. multi-threading, clustering and colour tables) as well as features that did not work well in JavaScript mode
(e.g. polylines with varying width and colour and hardware accelerated rendering).
Thus, this implementation is slower than the original and has not got as many features, but still enables creating very nice bundles out-of-the-box!
A JavaScript app is provided for making your own graph bundles. You may use one of the sample graphs or your own graph in GraphML format. The app includes an option to generate high resolution images that you may include in your publications. If you do so, please cite the paper. Thanks!
Some images produced with this code, and an animation based on an extension of this code.