1

我有以下 graphviz 文件。现在,边缘标签放置在水平线上,但我希望将节点放置在水平线上。我怎样才能做到这一点?

 digraph finite_state_machine {
    node [shape = doublecircle]; q_5;
    node [shape = circle];
    q_1 -> q_2 [ label = "." ];
    q_1 -> q_2 [ label = "\epsilon" ];
    q_2 -> q_1 [ label = "\epsilon" ];
    q_2 -> q_3 [ label = "a" ];
    q_3 -> q_4 [ label = "^\wedge a" ];
    q_3 -> q_4 [ label = "\epsilon" ];
    q_4 -> q_3 [ label = "\epsilon" ];
    q_4 -> q_5 [ label = "b" ];
}

这是它目前的样子:电流输出

4

1 回答 1

3

您可以使用rank=same为所有节点强制相同的等级:

digraph finite_state_machine {
{
rank=same;
    node [shape = doublecircle]; q_5;
    node [shape = circle];
    q_1 -> q_2 [ label = "." ];
    q_1 -> q_2 [ label = "\epsilon" ];
    q_2 -> q_1 [ label = "\epsilon" ];
    q_2 -> q_3 [ label = "a" ];
    q_3 -> q_4 [ label = "^\wedge a" ];
    q_3 -> q_4 [ label = "\epsilon" ];
    q_4 -> q_3 [ label = "\epsilon" ];
    q_4 -> q_5 [ label = "b" ];
    }
}
于 2012-10-03T16:10:05.647 回答