Компоновка ориентированного графа: ребра, пересекающие узлы
В настоящее время я пытаюсь отобразить поток процесса с помощью Cytoscape.js и cytoscape-dagre. Хотя эта комбинация отлично справляется с простыми процессами (или графиками), я не могу решить проблему пересечения ребер узлами.
Следующее предоставлено точечным движком GraphViz. Посмотрите на путь между "QS-Daten anlegen" и "Buchhaltungsdaten anlegen": узлы расположены по прямой линии, края избегают пересечения узлов.
Тот же график, представленный cytoscape.js и cytoscape-dagre. Узлы расположены одинаково, но не на такой прямой линии. Края не учитывают положения узлов.
Я пытался улучшить результат, настраивая параметры лайта, такие как nodeSep
, edgeSep
и т. д. Но основная проблема остается: отдельные линии между узлами не учитывают расположение других узлов на прямом пути этого ребра.
Я не уверен, является ли это вопросом алгоритма компоновки, то есть cytoscape-dagre, или если cytoscape.js просто не позволяет плагинам компоновки сгибать края.
И, конечно же, я не знаю, как позволить Cytoscape визуализировать этот график, как это делает движок GraphViz.
Заранее спасибо Newlukai