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