Я пытаюсь сделать граф с привязкой к силе с помощью d3.layout.force
, и мне нужно, чтобы контейнер был изменен по размеру - я хотел бы иметь возможность рассчитать соответствующие значения заряда и linkDistance на основе размера или иметь d3 сделайте это для меня каким-то магическим способом.
Я сделал попытку (ссылка: http://jsfiddle.net/VHdUe/6/), которая использует только узлы. Я устанавливаю заряд к значению, основанному на количестве узлов, которые будут соответствовать радиусу круга, на который он имеет тенденцию иметь форму.
Решение работает для некоторых контейнеров среднего размера, но если вы несколько раз нажмете размер, вы увидите, что он не работает для всех размеров...
Единственный способ, который я вижу, - использовать преобразование шкалы svg, которое испортит размер моих элементов. Любые другие варианты?
PS: Я видел http://mbostock.github.com/d3/talk/20110921/bounding.html (ответ D3 принудительно направленный макет с ограничивающая рамка), но я предпочел бы иметь решение на основе гравитации, чем ограничивающее поле.