边缘上的Rank属性具有五个值"same","min","source","max","sink".除了"相同",我不知道何时使用其他值.
min
\begin{dotpic}
rankdir=LR;
size="7,5";
node[shape=circle];
C->A;
{rank=min;A;B}
B->D
A->B;
\end{dotpic}
max
\begin{dotpic}
rankdir=LR;
size="7,5";
node[shape=circle];
C->A;
{rank=max;A;B}
B->D
A->B;
\end{dotpic}
source
\begin{dotpic}
rankdir=LR;
size="7,5";
node[shape=circle];
C->A;
{rank=source;A;B}
B->D
A->B;
\end{dotpic}
sink
\begin{dotpic}
rankdir=LR;
size="7,5";
node[shape=circle];
C->A;
{rank=sink;A;B}
B->D
A->B;
\end{dotpic}
Run Code Online (Sandbox Code Playgroud)
通过对我的vim环境的测试,我可以发现这些值存在一些差异.但不知道它们到底是什么.
Dan*_*Dan 41
将等级留空或使用等级=相同的更常用.这四个通常只在特殊情况下使用.
单独使用时,min和source具有相同的功能:将所有节点置于最小等级(TB图的顶行).它们之间的区别在于min将允许最小等级的其他子图.来源不会.源仅允许min或source的其他子图在最小等级上.
请考虑以下图表摘要:
{ rank=source; a -> b; }
{ rank=same; c -> d; }
Run Code Online (Sandbox Code Playgroud)
你最终会得到2行.a - > b将高于c - > d.
如果将source更改为min,则只能获得一行.a - > b将在c - > d的左边,全部在最低等级.
{ rank=min; a -> b; }
{ rank=same; c -> d; }
Run Code Online (Sandbox Code Playgroud)
Max和sink是图表底部的等价物.