D3 force layout源代码片段!quad.leaf

时间:2013-05-25 02:45:54

标签: d3.js force-layout

有人知道D3源代码第5529行的这种随机扰动的原因吗?

  if (!quad.leaf) {
    quad.point.x += Math.random() - .5;
    quad.point.y += Math.random() - .5;
  }

1 个答案:

答案 0 :(得分:1)

d3.js文件连接了几个源代码文件。您引用的行位于force implementation。在此文件中,您可以找到扰动的解释:

// jitter internal nodes that are coincident
if (!quad.leaf) {
  quad.point.x += Math.random() - .5;
  quad.point.y += Math.random() - .5;
}

随机扰动是为了处理重合节点。这个问题确实很具体,但在我看来这是一个很好的问题。