Я пытаюсь создать сетевую диаграмму, в которой узлы сгруппированы по свойству и в которой они объединены в группу как с расположением (принудительное расположение), так и с использованием выпуклой оболочки. Подобно этому, но без щелчка, чтобы свернуть/развернуть. Эта модель/код слишком сложна для новичка, чтобы анализировать и учиться.
Мой вопрос можно сформулировать проще: есть ли пример кода возможности network+grouped, который включает возможность узлов в нескольких группах?
Иногда в группе будет только один узел, а базовая выпуклая оболочка не работает менее чем для трех. В приведенном выше примере есть исправление для этого (чего я не понимаю), как и в этом, который создает невидимые узлы и может быть проще.
Группы могут быть вложены в несколько слоев. Это руководство содержит всю информацию, необходимую для использования d3.nest()
для получения данных в иерархии. Но это может быть и не иерархия, может случиться так, что узел находится в нескольких группах и должен находиться в правильном корпусе и месте. Некоторые узлы не будут входить ни в одну группу, но все равно будут подключены к сети.
Я знаю, что силы в макетах сил складываются, поэтому не должно быть проблемой, чтобы и группы, и связи влияли на расположение узлов простым способом, но я не видел простого примера этого. Мой подход состоит в том, чтобы добавить сетевые подключения к примеру с несколькими фокусами и посмотреть, смогу ли я заставить это работать.
В качестве бонуса узлы не должны перекрываться, а для иерархических элементов узлы базового слоя должны располагаться по кругу так, чтобы узлы, находящиеся в нескольких группах, находились между этими группами вот так. Я упомянул об этом сейчас, потому что стремление к этим функциям может привести к лучшему решению вышеуказанных желаний.
Я буду работать над этим созданием из этого JSFiddle; Я буду продолжать обновлять и уточнять этот вопрос по мере того, как буду работать над кодом самостоятельно. Я был бы признателен за любые указатели на код, который ближе, чем складной, к тому, что я хочу, оговорки об ограничениях/проблемах D3 (например, необходимость обходного пути для выпуклых оболочек из 1-2 узлов) и код, который обеспечивает один из этих возможности в понятной и модульной форме для достижения конечной цели. Действительно, любая помощь приветствуется.
linkDistance
иlinkStrength
в зависимости от групп... каким-то образом. Кроме того, как мы можем получить ссылки поверх выпуклых оболочек? Перерисовывать их каждый тик вместо обновления их координат x, y? - person Aaron Bramson   schedule 12.11.2015