D3树具有预定义的深度

ska*_*red 3 data-visualization d3.js

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

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

mbo*_*ock 5

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

d3.layout.cluster,与此相反,可以容易地修改,以使在自定义深度的节点.只需忽略生成的d.y坐标并替换您自己的深度值(可能与线性比例结合以从数据映射到像素).有关此技术的示例,请参见Ken-ichi Ueda的直角光谱图.