首页 > 解决方案 > 我如何保证一个graphviz集群总是在最后?

问题描述

我在这里查看了许多其他问题,但他们都没有做我想要的,有些人依赖于搞乱许多与集群本身完全无关的设置,并希望它会在你想要的地方结束。

基本上我希望一个集群成为最后一个集群,无论如何,就像“rank=sink”选项会对节点做,但对集群做。

我如何在不诉诸最小长度边缘和其他丑陋技巧的情况下做到这一点?

编辑:结束我的意思是图表的结尾,默认方向的最底部项目,或 LR 最右边的项目。

标签: graphvizdot

解决方案


我不知道有什么像 rank=... 这样好的东西但是,这很好用:

  • 将“其他所有内容”嵌入(新)集群中。如果您愿意,请添加 peripheries=0
  • 从“其他所有”集群底部附近的节点到“结束”集群顶部附近的节点创建 1 个或多个不可见边

    有向图 { 子图 cluster0{
    peripheries=0
    a->b->c->d->e->f
    }
    子图 cluster1{
    x1->x2
    }
    f->x1 [style=dashed ]
    }


推荐阅读