Избегать перекрытия кругов d3.js

Вы можете видеть в этом bl.ock http://bl.ocks.org/3012590, что в Париже есть много географических ссылок, с большим кругом над маленькие:

enter image description here

Я хотел бы получить что-то похожее на http://vallandingham.me/vis/gates/, так что круги будут добавляться к его границе.

enter image description here

Извините, я не смог найти ответ в этом коде, мне не хватает чего-то, что я думаю.

Есть ли легкое решение для этого? пробовал разные отрицательные зарядовые силы, вызывая проблемы при изменении размера круга (если все круги в Париже становятся маленькими, то они становятся слишком далеко друг от друга)?

Ответы

Ответ 1

Если ваша цель - предотвратить совпадение, то обнаружение конфликтов является более прямым способом удовлетворения этого ограничения. Это даст более точный результат, чем силы отталкивания заряда. Вот еще один пример:

Вам не нужен силовой макет, чтобы выполнить это, хотя они часто используются вместе. Вы можете перебирать по узлам фиксированное количество раз, чтобы разрешить любые столкновения при инициализации. Здесь реализация одной из моих бесед: