Graphviz 有向图的布局:交叉节点的边

Graphviz 有向图的布局:交叉节点的边,graphviz,cytoscape.js,graph-visualization,dagre,Graphviz,Cytoscape.js,Graph Visualization,Dagre,我目前正试图用Cytoscape.js和Cytoscape dagre显示一个进程流。虽然这种组合对于简单的过程(或图形)非常有效,但我无法解决边与节点交叉的问题 以下由GraphViz的点引擎渲染。查看“QS Daten anlegen”和“Buchhaltungsdaten anlegen”之间的路径:节点位于直线上,边避免交叉节点。 由cytoscape.js和cytoscape dagre呈现的相同图形。节点位置相似,但不是在这样的直线上。边缘不考虑节点位置。 我尝试通过调整LoOU

我目前正试图用Cytoscape.js和Cytoscape dagre显示一个进程流。虽然这种组合对于简单的过程(或图形)非常有效,但我无法解决边与节点交叉的问题

以下由GraphViz的点引擎渲染。查看“QS Daten anlegen”和“Buchhaltungsdaten anlegen”之间的路径:节点位于直线上,边避免交叉节点。

由cytoscape.js和cytoscape dagre呈现的相同图形。节点位置相似,但不是在这样的直线上。边缘不考虑节点位置。

<>我尝试通过调整LoOUT选项来改进结果,如:代码> NODESEP < /代码>,代码> EdgESEP < /代码>等,但主要问题仍然存在:节点之间的单行不考虑其他节点位于该边的直路径上。

我不确定这是否是布局算法的问题。Ecytoscape dagre或如果cytoscape.js不允许布局插件弯曲边缘

当然,我不知道如何让cytoscape像GraphViz的点引擎那样渲染图形

提前谢谢
纽卢凯

我甚至可以用Dagre的控制点提取边缘。但要告诉Cytoscape一条确切的边缘路径是不可能的。您只能指定样式(贝塞尔、线段等),然后为每个控制点提供距直尺的距离列表。这意味着,我可以告诉Cytoscape绘制一条分段线,其中一个控制点与直线连接的距离为25。这使得我不可能让Cytoscape绘制一个好的布局。你必须将点的坐标系从绝对笛卡尔坐标转换为lib支持的相对值。看,我已经试过了,看上面提到的问题,@Newlukai,你找到解决办法了吗?是的。我换成了。¯_(ツ)_/¯