Hyperbolic tree

Displaying hierarchical data as a tree suffers from visual clutter as the number of nodes per level can grow exponentially.

Drawing the tree as a node-link diagram thus requires exponential amounts of space to be displayed.

Exploiting this property allows laying out the tree in hyperbolic space in an uncluttered manner: placing a node far enough from its parent gives the node almost the same amount of space as its parent for laying out its own children.

The unit disk gives a fish-eye lens view of the plane, giving more emphasis to nodes which are in focus and displaying nodes further out of focus closer to the boundary of the disk.

Traversing the hyperbolic tree requires Möbius transformations of the space, bringing new nodes into focus and moving higher levels of the hierarchy out of view.

A basic hyperbolic tree. Nodes in focus are placed in the center and given more room, while out-of-focus nodes are compressed near the boundaries.
Focusing on a different node brings it and its children to the center of the disk, while uninteresting portions of the tree are compressed.