Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向JointJS图动态添加节点。在joint.layout.DirectedGraph中设置秩顺序?_Javascript_Directed Graph_Jointjs_Dagre - Fatal编程技术网

Javascript 向JointJS图动态添加节点。在joint.layout.DirectedGraph中设置秩顺序?

Javascript 向JointJS图动态添加节点。在joint.layout.DirectedGraph中设置秩顺序?,javascript,directed-graph,jointjs,dagre,Javascript,Directed Graph,Jointjs,Dagre,我在JointJS中实现了一个流程图,用户可以在其中删除元素,添加新元素,并以各种顺序重新链接。每次删除、添加、取消链接或重新链接某些内容时,图形将使用joint.layout.DirectedGraph库和Dagre的自动布局功能来重新组织图形。出现了一个奇怪的问题,我还不知道如何处理它 假设我有一个“fork”进程,它有两个输出端口,每侧一个,顶部一个输入端口。根据阵列中元素的顺序,自动布局有时可以将左侧端口的子元素放置在右侧端口的子元素的右侧,因此生成的链接是交叉的 是否有一些直接的方法可

我在JointJS中实现了一个流程图,用户可以在其中删除元素,添加新元素,并以各种顺序重新链接。每次删除、添加、取消链接或重新链接某些内容时,图形将使用joint.layout.DirectedGraph库和Dagre的自动布局功能来重新组织图形。出现了一个奇怪的问题,我还不知道如何处理它

假设我有一个“fork”进程,它有两个输出端口,每侧一个,顶部一个输入端口。根据阵列中元素的顺序,自动布局有时可以将左侧端口的子元素放置在右侧端口的子元素的右侧,因此生成的链接是交叉的

是否有一些直接的方法可以影响布局中的排名顺序?我希望当情况发生变化时,我可以对数组中的元素重新排序,以便从Dagre的角度来看它们更容易处理,但我不确定排序在实践中是如何进行的。更好的是一些类似于z索引的属性,但对于我可以设置的从左到右的偏差,Dagre会尊重,但我不相信代码中隐藏了这样的东西

是否有人有一些想法或建议,我可以如何擦洗布局,以消除这种情况


非常感谢

所以最后我只是测试了问题案例,并更改了它们在元素数组中的顺序。事实上,有向图/Dagre库确实按照元素在数组中的存储顺序从左到右对同一列上的元素进行排序