D3树具有预定义的深度

时间:2012-06-30 11:46:55

标签: data-visualization d3.js

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

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

1 个答案:

答案 0 :(得分:5)

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

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

相关问题