Javascript 如何使用d3及其强制布局构建树?

Javascript 如何使用d3及其强制布局构建树?,javascript,algorithm,graph,d3.js,force-layout,Javascript,Algorithm,Graph,D3.js,Force Layout,我正在尝试以树的形式排列节点。现在,我正在从中学习这个例子。目前,我依赖于强制导向布局,但尝试对其进行修改,以便获得具有预定级别数的树,即,如果节点属于特定“层”,则它应与该层中的其他节点属于同一区域 我试图在下面的图片中解释更多,但是有人对此有什么建议吗?d3中是否有任何预先确定的算法可以做到这一点,或者可以通过调整来实现这一点 您的图表与基于深度使用自定义重力的图表几乎相同。使用一个吸引父节点的自定义力。这两个都来自于on force布局 当然,部队布局只是一种选择,正如@nrabinowi

我正在尝试以树的形式排列节点。现在,我正在从中学习这个例子。目前,我依赖于强制导向布局,但尝试对其进行修改,以便获得具有预定级别数的树,即,如果节点属于特定“层”,则它应与该层中的其他节点属于同一区域

我试图在下面的图片中解释更多,但是有人对此有什么建议吗?
d3
中是否有任何预先确定的算法可以做到这一点,或者可以通过调整来实现这一点


您的图表与基于深度使用自定义重力的图表几乎相同。使用一个吸引父节点的自定义力。这两个都来自于on force布局


当然,部队布局只是一种选择,正如@nrabinowitz所说,还有更多选择。您可以在my SVG Open talk中找到。

源代码包含一个动态树的示例。你应该看看它,它可能是你想要的(至少看起来很相似)。编辑:我的意思是。你为什么在这里使用武力导向布局而不是静态树布局,例如?@nrabinowitz:+1谢谢。真不敢相信我错过了!我想两者都能达到我的目的!有没有一种方法可以让它们交互,这样当我把它们拖到某个地方时,节点就会回来?这有助于拖动某个节点并向某人解释。@FelixKling:+1谢谢。我在上面还有一个问题,你真是一个传奇!非常感谢您抽出时间向我展示所有示例。顺便说一句,这是一次非常有益的谈话。