41

边缘的等级属性有五个值“相同”、“最小”、“源”、“最大”、“接收器”。除了“相同”,我不知道何时使用其他值。

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 环境中进行测试,我可以意识到这些值存在一些差异。但不知道它们到底是干什么用的。

4

1 回答 1

51

将等级留空或使用 rank=same 的使用频率更高。这其他四个通常只在特殊情况下使用。

单独使用时, min 和 source 具有相同的功能:将所有这些节点置于最小等级(TB 图的第一行)。它们之间的区别在于 min 将允许其他子图处于最低等级。源不会。Source 仅允许 min 或 source 的其他子图处于最低等级。

考虑以下图形片段:

{ rank=source; a -> b; }
{ rank=same;   c -> d; }

你最终会得到 2 行。a -> b 将高于 c -> d。

资源


如果将源更改为 min,则只会得到一行。a -> b 将在 c -> d 的左侧,都在最低等级。

{ rank=min;    a -> b; }
{ rank=same;   c -> d; }

敏

Max 和 sink 是图底部的等价物。

于 2011-05-27T17:34:06.250 回答