2012-06-30 45 views

回答

5

这取决于你对“树”的定义。 D3有several hierarchy layouts,其中d3.layout.tree是其中之一。树布局指的是Reingold-Tilford的算法。这种特殊算法不利于定制节点的深度,因为它假定所有兄弟节点具有相同的深度(以便它可以将节点整齐地放置)。

与之相反,d3.layout.cluster可以很容易地修改为渲染节点在自定义深度。只需忽略生成的d.y坐标并替换您自己的深度值(可能结合linear scale将数据映射到像素)。有关此技术的示例,请参阅Ken-ichi Ueda的right-angle phylograms