强制有向图不同的群集

时间:2014-04-16 10:48:52

标签: javascript d3.js force-layout

从过去几天开始,我一直在D3.JS图书馆搜索。它确实是一个很棒的可视化库。

我使用Force Directed Graph来表示社交网络的数据。到目前为止它还很好但是所有不同颜色的不同组合都在一起。

我想要做的是为每个节点定义不同的集群。因此,相同的颜色节点在一个集群中聚集在一起。

我该怎么办?

我当前的力量有向图看起来像this

1 个答案:

答案 0 :(得分:2)

最后通过以下代码行解决了我的问题

    function tick(e) {
  // Push different nodes in different directions for clustering.
  var k = 6 * e.alpha;
  graph.nodes.forEach(function(o, i) {
    o.y += i & 1 ? k : -k;
    o.x += i & 2 ? k : -k;
  });
  node.attr("cx", function(d) { return d.x; })
      .attr("cy", function(d) { return d.y; });

}