第一次 DOT/GraphViz 用户在这里。我有以下图表

digraph G {
  rankdir=LR;
  "START" -> "A" -> "B" -> "A" -> "C" -> "A" -> "END"
  "START" -> "A" -> "C" -> "A" -> "B" -> "A" -> "END"
}

被渲染成这样

graphviz - 如何使用graphviz,dot使该图无环?-LMLPHP

而我希望它像这样呈现

graphviz - 如何使用graphviz,dot使该图无环?-LMLPHP

我如何在 DOT 中表达?

最佳答案

在 Graphviz 中,您不能拥有多个具有相同 ID 的状态。但是,您可以创建一个图形,其中状态的 ID 不同但它们的标签相同。

为了构建你想要的图表,我会尝试这样的事情:

digraph G{
    START [label="START"];
    A1 [label="A"];
    A2 [label="A"];
    A3 [label="A"];
    B1 [label="B"];
    B2 [label="B"];
    C1 [label="C"];
    C2 [label="C"];
    END [label="END"]
    START->A1
    A1->B1
    A1->C1
    B1->A2
    C1->A2
    A2->B2
    A2->C2
    B2->A3
    C2->A3
    A3->END
}

这定义了显示相同名称(标签)的不同状态。在这里你可以看到结果:
graphviz - 如何使用graphviz,dot使该图无环?-LMLPHP

关于graphviz - 如何使用graphviz,dot使该图无环?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46525678/

10-13 01:21