边上的等级属性有五个值“相同”、“最小”、“源”、“最大”、“汇”。
除了“相同”,我不知道何时使用其他值。
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}
通过对我的 vim 环境的测试,我可以意识到这些值之间存在一些差异。
但不知道它们到底是干什么用的。
最佳答案
将 rank 留空或使用 rank=same 的使用频率要高得多。这其他四种通常只在特殊情况下使用。
单独使用时,min 和 source 具有相同的功能:将所有这些节点置于最小等级(TB 图的顶行)。它们之间的区别在于 min 将允许其他子图处于最小等级。源不会。 Source 只允许 min 或 source 的其他子图处于最小等级。
考虑以下图形片段:
{ rank=source; a -> b; }
{ rank=same; c -> d; }
你最终会得到 2 行。 a -> b 将高于 c -> d。
如果将 source 更改为 min,则只会获得一行。 a -> b 将在 c -> d 的左边,都在最小等级中。
{ rank=min; a -> b; }
{ rank=same; c -> d; }
Max 和 sink 是图形底部的等效项。
关于graphviz - 等级属性让我感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6149834/