我正在尝试使用 D3 创建一个可视化,以便节点的大小因特定属性而异,较大的节点位于中心,较小的节点位于外部。我有大小调整、聚类和碰撞检测工作,但我不知道如何告诉更大的节点去中心。
我试过搞乱收费,但无法说服它起作用。我让 linkDistance 将较大的移动到中心,但是(a)到达那里非常紧张,(b)较小的在外面而不是紧紧地包装。linkDistance 还在代码中,只是注释掉了。
它位于http://pokedex.mrh.is/stats/index.html:
相关代码(我假设)也在下面。节点根据其attr
属性调整大小。哦,节点是神奇宝贝。
force = d3.layout.force()
// .gravity(0.05)
// .charge(function(d, i) { return d.attr; })
// .linkDistance(function(d) {
// return 50000/Math.pow(d.source.attr+d.target.attr,1);
// })
.nodes(pokemon)
// .links(links)
.size([$(window).width(), $(window).height()]);