3

我想用 D3 创建具有预定义深度的树。

有没有办法在生成树之前设置深度?

4

1 回答 1

5

这取决于您对“树”的定义。D3 有几个层次布局,其中d3.layout.tree就是其中之一。树布局是指 Reingold-Tilford 的整洁树布局算法。这种特定的算法不利于自定义节点的深度,因为它假设所有兄弟节点的深度相同(以便它可以整齐地放置节点)。

相比之下,d3.layout.cluster可以轻松修改以在自定义深度渲染节点。只需忽略生成的d.y坐标并替换您自己的深度值(可能与线性比例一起从数据映射到像素)。有关此技术的示例,请参阅 Ken-ichi Ueda 的直角系统图

于 2012-06-30T16:45:55.870 回答