Поиск центроида графика в D3.js

Я пытаюсь разрешить весь график (например, сворачиваемую дендрограмму (http://mbostock.github.com/d3/talk/20111018/tree.html) для перемещения в визуализации с использованием центроида всего графика и не знаю, как лучше всего обработать этот график в качестве дискретного узла и использовать координаты центроида для манипулирования.Как будет вычисляться центроид графика, позволяя графу иметь динамический размер, чтобы учитывать новые узлы, тем самым пересчитывая центроид?


person Jakub Svec    schedule 29.03.2013    source источник


Ответы (2)


Похоже, в вашем случае проще было бы получить контейнер графика (т.е. SVG) и вычислить его центральную точку. Предполагая, что поля рисуемого вами графика не слишком велики и/или не сбалансированы, поведение будет очень похоже на вычисление центроида графика, но гораздо проще для достижения.

Код будет выглядеть примерно так.

var centerx = svg.getBBox().x + svg.getBBox().width/2,
    centery = svg.getBBox().y + svg.getBBox().height/2;
person Lars Kotthoff    schedule 30.03.2013
comment
Спасибо за помощь. Конечная цель — использовать это как узел в силовом графе. Я пытался использовать переменную 'g' для управления этим, но мне не повезло. - person Jakub Svec; 30.03.2013