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