我正在尝试用点画出一个非常简单的图表。
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
的边缘,但我还想改变箭头的方向,使它们从左向右循环。
答案 0 :(得分:45)
要更改任何箭头的方向,您只需使用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];
}
答案 1 :(得分:1)
我不知道是否可以使箭头从左向右循环。您可以通过使用dir选项对箭头进行一定程度的控制,例如
S->S[dir=both];
此外,您可以通过更改从S到S的链接长度来影响布局。您还可以通过反转节点列出的顺序来控制(非自参考)箭头的方向,例如:
S->T;
becomes
T->S;
我发现它几乎总能产生更好的图表,受限制的越少。我建议尝试删除rank = same命令。