双曲树

双曲树（）是一种信息可视化和图形绘制方法，其灵感来自双曲几何。

将分层数据显示为一棵树，由于每层的节点数量会呈指数级增长，因此会出现视觉上的混乱。对于一棵简单的二叉树来说，第 n 层的最大节点数是 2n，而分支较多的树的节点数增长得更快。因此，把树画成一个节点-链接图需要指数级的空间来显示。

解决上述问题的其中一种方法是使用双曲树，首先由Lamping等人提出。 双曲树采用双曲空间，其本质上比欧氏空间的“空间更大”。例如，在欧几里得空间中线性增加一个圆的半径，其周长会线性增加，而在双曲空间中同样的圆，其周长会呈指数级增加。利用这一特性，可以在双曲空间中以整洁的方式给树布局：把一个节点放在离其父节点足够远的地方，可以让该节点几乎拥有与其父节点相同的空间来布局自己的子节点。

通常利用双曲几何的庞加莱圆盘模型来展示双曲树，尽管也可以使用凯莱-克莱因模型。两者都是在一个单位圆盘中显示整个双曲平面，使整个树一次性可见。单位圆盘提供了一个平面的鱼眼透镜视图，更加强调焦点内的节点，而在靠近圆盘边界处可以显示更加远离焦点的节点。遍历双曲树需要对空间进行莫比乌斯变换，使新的节点成为焦点，并将层次结构的更高层次移出视野。

双曲树于1996年由施乐公司在美国申请了专利，但该专利已经过期。

参见 
 双曲几何
 信息可视化
  – 同样是圆形的，但使用线性几何。
 树 (数据结构)
 树 (图论)

参考文献

外部链接 

d3-hypertree  – HTML5 Hyperbolic tree implementation, MIT licensed 
Hyperbolic Tree of life  – Open source tree of life visualisation using Open Tree of Life data set
The Green Tree of Life  – Tree of life – University of California at Berkeley and Jepson Herbaria
Tree of life Similar to the above, but with pictures
RougeViz  supports hyperbolic trees.

雙曲幾何
树结构