我目前正在尝试使用Cytoscape.js和cytoscape-dagre显示流程。虽然这种组合对于简单的过程(或图形)来说做得很好,但我无法解决边缘跨越节点的问题。
以下内容由GraphViz的点引擎呈现。看看“QS-Daten anlegen”和“Buchhaltungsdaten anlegen”之间的路径:节点位于一条直线上,边缘避免穿过节点。
由cytoscape.js和cytoscape-dagre呈现的相同图形。节点位置相似,但不是这样的直线。边缘不考虑节点位置。
我尝试通过调整lyout选项来改善结果,例如nodeSep
,edgeSep
等。但主要问题仍然存在:节点之间的单行不考虑其他节点位于直线路径上那边缘。
我不确定这是否是布局算法的问题,我。即cytoscape-dagre或者如果cytoscape.js不允许布局插件弯曲边缘。
当然,我不知道如何让cytoscape像GraphViz的点引擎那样呈现那个图形。
提前致谢 Newlukai