Я строю график силы D3 для визуализации сетевого трафика. Необходимо связать два узла с более чем двумя путями. Это возможно? Помощь приветствуется.
D3: Можно ли добавить несколько (более 2) ребер между узлами?
comment
Похоже, есть похожий вопрос по той же теме. stackoverflow.com/ вопросов/11368339/ jsfiddle.net/7HZcR/3 Позвольте мне попробовать .
- person user2300875   schedule 20.04.2013
Ответы (1)
Ничто не мешает вам рисовать несколько ребер между узлами. Тогда единственная вещь заключается в том, что компоновка принудительно направленного графа сделана так, чтобы два узла использовали только одну ссылку. Таким образом, я бы рекомендовал сделать следующее:
- С точки зрения силового ориентированного графа есть только одна связь.
- С точки зрения рисования нарисуйте несколько ребер, если оба узла имеют несколько ребер.
Которые дают следующую структуру данных для ребер:
links = {
source: 0, //index of source node
target: 0 //index of target node
representations : [{color: "red"}, {color:"blue"}]
}
Таким образом, когда вы даете ссылки на силовой направленный граф, он не будет жаловаться. Но когда вы на самом деле рисуете ссылку, вы можете перебирать массив representations
, чтобы рисовать разные ссылки.
person
Christopher Chiche
schedule
19.04.2013
Спасибо за ответ. Но как мне итерировать представление при рисовании ссылок. Пример: а именно.path.enter().append(path).attr(id,)... Я использую приведенную выше строку для отображения ссылок между узлами. Где в этом я буду называть массив представлений? Спасибо,
- person user2300875; 24.04.2013