1

我使用 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'),看看图表是如何变化的。

4

0 回答 0