Graphviz 更改点中的边方向

Graphviz 更改点中的边方向,graphviz,dot,Graphviz,Dot,我想用圆点画一个非常简单的图表 digraph untitled { rankdir = LR; {rank=same; S; A} B -> A; B -> S; A -> A; S -> S; A -> S ; S -> A; A -> T; S -> T; } 我得到的结果是 我确实需要更改S->S的边,但我还想更改箭头的方向,使其从左向右循环。我不知

我想用圆点画一个非常简单的图表

digraph untitled
    {
    rankdir = LR;
    {rank=same; S; A}
    B -> A;
    B -> S;
    A -> A;
    S -> S;
    A -> S ;
    S -> A;
    A -> T;
    S -> T;
}
我得到的结果是


我确实需要更改
S->S
的边,但我还想更改箭头的方向,使其从左向右循环。

我不知道是否有可能使箭头从左向右循环。通过使用dir选项,您可以对箭头进行一定程度的控制

S->S[dir=both];
此外,您可以通过将链接长度从S更改为S来影响布局。您还可以通过颠倒节点的列出顺序来控制(非自参考)箭头的方向,例如:

S->T;
becomes
T->S;

我发现,它几乎总是生成更好的图表,受约束的程度越低。我建议尝试删除rank=same命令。

要更改任何箭头的方向,只需使用
dir=back

S -> S [dir=back];
但在你的情况下,这似乎没有必要。。。(见下文)

由于边
S->S
A->S
S->A
边之间存在重叠,我建议在S和A之间只使用一条边,两端都有箭头:

digraph g {
    rankdir = LR;
    {rank=same; S; A}
    B -> A -> T;
    B -> S -> T;
    A -> A;
    S -> S;
    A -> S[dir=both];
}

是否有办法使
S->S
箭头显示在S的底部?