Я пытаюсь создать визуализацию с помощью D3, чтобы узлы имели разный размер по определенному атрибуту, а большие узлы уходили в центр, а меньшие узлы уходили наружу. У меня работают размеры, кластеризация и обнаружение столкновений, но я не могу понять, как указать большим узлам идти в центр.
Я пытался возиться с зарядом, но не смог убедить, что это сработает. Я получил linkDistance, чтобы переместить большие в центр, но (а) добраться туда было ОЧЕНЬ нервно и (б) меньшие находятся далеко снаружи, а не плотно упакованы. 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()]);
charge()
дляgravity()
. - person Andrew   schedule 03.05.2013