我使用 dagreD3 创建了一个简单的流程图,请在此处查看示例
我有几组节点
graph.setNode('a', {label: 'a', height: 20, width: 40})
graph.setNode('b', {label: 'b', height: 20, width: 40})
graph.setNode('c', {label: 'c', height: 20, width: 40})
graph.setNode('d', {label: 'd', height: 20, width: 40})
graph.setNode('e', {label: 'e', height: 20, width: 40})
graph.setNode('f', {label: 'f', height: 20, width: 40})
graph.setNode('main', {label: 'Main', heihgt: 100})
哪个有这样的边缘
graph.setEdge('a', 'c')
graph.setEdge('b', 'c')
graph.setEdge('c', 'main')
graph.setEdge('d', 'e')
graph.setEdge('e', 'main')
graph.setEdge('f', 'main')
// graph.setEdge('main', 'e')
这里的问题是,有最后一条边graph.setEdge('main', 'e')
,因为main是 e 的父节点,所以e节点位于主节点之下。
我所期待的是,当我尝试从中设置边缘时,main to e
它应该保持相同的水平并从中画一条线main to e
。我只是想将main保持在流程图的最后一级。是否有任何可能的方法将main保持在同一级别,并且所有剩余节点都应该在main之上?
在上面的链接中,请取消注释这一行graph.setEdge('main', 'e')
,看看图表是如何变化的。