首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Graphviz (点)中的非确定性结果

Graphviz (点)中的非确定性结果
EN

Stack Overflow用户
提问于 2018-03-14 19:02:10
回答 1查看 192关注 0票数 1

如何强制graphviz始终生成相同的布局?

给出一个图表:

代码语言:javascript
复制
digraph {
    subgraph clusterA {
        subgraph clusterB {
            "B.001"
            "B.002"
            "B.003"
            "B.004"
        }
        subgraph clusterC {
            "C.001"
            "C.002"
            "C.003"
        }
    }
    subgraph clusterD {
        subgraph clusterE {
            "E.001"
        }
        subgraph clusterF {
            "F.001"
            "F.002"
            "F.003"
        }
        subgraph clusterG {
            "G.001"
            "G.002"
        }
    }
    subgraph clusterH {
        "H.001"
    }
    "G.002" -> "F.003"
    "F.001" -> "C.003"
    "G.002" -> "F.002"
    "G.002" -> "D.001"
}

当我将其传递给dot时,它有时会生成如下布局的结果:

有时就像这样:

显然,第一个看起来要好得多,我希望graphviz坚持使用这个。

我试图通过fdpunflatten传递我的图形,但是它没有改变任何东西。

EN

回答 1

Stack Overflow用户

发布于 2018-03-16 09:27:30

我尝试了很多不同的在线和cli渲染解决方案。除了你的第二个输出,我看不到其他的输出。但如果您更喜欢第一个,只需交换ClusterB和ClusterC的顺序即可。

代码语言:javascript
复制
digraph {
rankdir=TB
subgraph clusterA {

    subgraph clusterC {
        "C.001"
        "C.002"
        "C.003"
    }

    subgraph clusterB {
        "B.001"
        "B.002"
        "B.003"
        "B.004"
    }

}

subgraph clusterD {
    subgraph clusterE {
        "E.001"
    }
    subgraph clusterF {
        "F.001"
        "F.002"
        "F.003"
    }
    subgraph clusterG {
        "G.001"
        "G.002"
    }
}

subgraph clusterH {
    "H.001"
}


"G.002" -> "F.003"
"F.001" -> "C.003"
"G.002" -> "F.002"
"G.002" -> "D.001"

}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49276026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档