Выделите набор узлов и их отношения между ними

Я работаю над графом, направленным по силе, с использованием D3, и я показываю все узлы, отображаемые на графике, в отдельной таблице рядом с областью графика. У меня есть флажки в таблице, которую я показываю, что дает мне возможность выбирать узлы.

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

Любая помощь по этому поводу будет действительно полезна.


person Rahul Rout    schedule 28.06.2012    source источник
comment
Вы видели мой ответ относительно как выбрать связанные элементы?   -  person mbostock    schedule 29.06.2012
comment
Наконец-то разобрался ...... большое спасибо @mbostock   -  person Rahul Rout    schedule 04.07.2012


Ответы (1)


Я не использую диаграмму направленного действия, а скорее "Radial Hub and Spoke Diagram" (также известную как " Radial Wheel "), но предпосылка должна быть такой же. В моем примере отношения представлены дугами круговой диаграммы, а узлы во взаимосвязях находятся на обоих концах дуг. В этом примере вы увидите, как я выбираю определенные узлы и / или отношения (например, наводя указатель мыши на любую дугу или имя узла) или множество узлов и связей одновременно, в зависимости от типов (наведение указателя мыши на ключ типа с цветовой кодировкой).

В любом примере выбора все сводится к присвоению уникальных идентификаторов каждому элементу на чертеже. Вы можете увидеть, как я это делаю, выполнив поиск по операторам .attr ("class" ...) и .attr ("id" ...). После того, как вы назначили такие уникальные идентификаторы, вы можете использовать их для создания комбинаций выбора. Вы можете увидеть, как я выполняю такой выбор в функциях .on ("mouseover", ...).

Кстати, не могли бы вы опубликовать свой пример на bl.ocks.org? Было бы легче помочь вам, если бы мы могли видеть ваш код.

Надеюсь, это поможет.

Мой лучший,

откровенный

person Information Technology    schedule 31.07.2012