从过去几天开始,我一直在D3.JS
图书馆搜索。它确实是一个很棒的可视化库。
我使用Force Directed Graph来表示社交网络的数据。到目前为止它还很好但是所有不同颜色的不同组合都在一起。
我想要做的是为每个节点定义不同的集群。因此,相同的颜色节点在一个集群中聚集在一起。
我该怎么办?
我当前的力量有向图看起来像this
答案 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; });
}