【问题标题】:Controlling the ordering of nodes within a GraphViz subgraph cluster控制 GraphViz 子图集群中节点的顺序
【发布时间】:2021-07-16 18:00:51
【问题描述】:

我在 GraphViz 中有两个集群子图,每个子图中的节点之间都有边。我希望能够影响第二个子图中节点的从上到下的顺序,以便在水平轴上实现对称,并使第二个子图中的节点从上到下排序为a, b,c,d。

digraph {
    rankdir=LR

    subgraph cluster_1 {
        bx -> cx
        by -> cy
    }

    subgraph cluster_2 {
        a; b; c; d
    }

    bx -> a
    cx -> b
    cy -> c
    by -> d
}

现在,我明白了:

更改cluster_2 子图中的节点外观顺序似乎无关紧要,更改底部跨集群边的顺序也无关紧要。

有什么方法可以让 GraphViz 在这里生成我想要的东西?

【问题讨论】:

    标签: graphviz


    【解决方案1】:

    您可以添加一些脚手架边缘和/或节点,即不可见的边缘/节点,但它可能有点棘手,尤其是在涉及集群时

    例如:

    digraph {
        rankdir=LR
        
        subgraph cluster_1 {
            bx -> cx
            by -> _d [dir=none]
            by -> cy
            _a[shape=point height=0]
            _d[shape=point height=0]
            bx -> _a [dir=none]
        }
    
        subgraph cluster_2 {
            a; b; c; d
        }
    
        //bx -> a
        cx -> b
        cy -> c
        //by -> d
        
        _a->a
        _d->d
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-11
      • 2017-10-31
      • 1970-01-01
      • 2021-11-10
      • 1970-01-01
      • 1970-01-01
      • 2014-01-16
      • 2016-03-01
      相关资源
      最近更新 更多