可折叠树布局中的 D3JS 路径生成器

d3js path generator in collapsible tree layout

本文关键字:路径 D3JS 布局 可折叠      更新时间:2023-09-26

我一直在学习 d3js,并有这样一个问题,我在网上几乎找不到一个好的参考:

在此演示代码中:

可折叠树 http://bl.ocks.org/mbostock/4339083

我发现下面的snip对于节点的崩溃/扩展行为至关重要:

  // Update the links…
  var link = svg.selectAll("path.link")
  .data(links, function(d) { return d.target.id; });

谁能解释更多为什么数据必须在这里设置 d.target.id? 或者,如果有人可以将我重定向到解释的参考资料,非常感谢。

.data()的第二个参数是一个函数,它告诉 D3 如何将数据元素与 DOM 元素匹配。默认情况下,它通过索引执行此操作,即第一个数据项与第一个 DOM 元素匹配,第二个数据项与第二个元素匹配,依此类推。在这种情况下,这不起作用,因为数据需要在目标的 ID(或唯一标识链接的类似内容)上匹配。

有关详细信息,请参阅文档。