Как заставить края vis.js в визуализированной группе DAG «перепрыгнуть» уровни графа? - PullRequest
0 голосов
/ 04 октября 2018

Я использовал vis.js, чтобы нарисовать некоторые группы доступности баз данных, используя опцию иерархического макета.Это работает хорошо, однако в моем случае использования часто встречаются ребра, которые должны «перескакивать поколения вершин», не уверенные, правильно ли я говорю.По сути, одна ветвь может иметь 10 уровней, и тогда родному брату глубокой ветки может потребоваться подключиться к самому глубокому листовому узлу.

Это «работает» - vis.js его рисует.Но это портит мой макет, сдвигая большую часть существующего графа, и пользователю будет бесполезно смотреть на результат.Я приложил картину того, чего я пытаюсь достичь и каковы текущие результаты. Может ли кто-нибудь указать мне правильное направление? DAG layout problem

1 Ответ

0 голосов
/ 06 октября 2018

Решение оказалось очень простым, я просто упустил его.Используя иерархическую структуру, можно назначить каждому node поле с именем level.Это вариант «все или ничего»: либо вы позволяете vis.js позаботиться об уровнях, либо вы вручную назначаете всем своим узлам level.Он очень хорошо учитывает уровни, и при добавлении ребер к узлам, уровни которых были определены вручную, узлы больше не перемещаются по макету.

...