1

(我是 d3js 新手)

我正在使用 d3.layout.force 来可视化划分为集群的节点图,基本上是这样的(即使在我的版本中,每个集群的节点都将重力焦点设置为集群的中心):

http://bl.ocks.org/mbostock/1747543

我想要完成的是将每个集群与另一个集群保持最小距离。

我在初始阶段为每个聚类中心设置随机点:

for(var i = 0; i < clusterLength; i++) {
    var baseX = 3
    var baseY = 7

    var x = halton(i + 1, baseX) * width + (Math.random() * 50)
    var y = halton(i + 1, baseY) * height + (Math.random() * 50)     

    clusterCoords.push({ 
      x: x,
      y: y
    })

    j += 1
  }

然后我希望能够重新定位每个集群,保持彼此之间的距离。

希望很清楚。

4

1 回答 1

3

这就是padding变量在 mbostock 示例中的用途。

请参阅我将填充设置为 30 的示例:http: //bl.ocks.org/mccannf/5548435

在此处输入图像描述

于 2013-05-09T16:10:27.707 回答