2011-05-27 108 views
29

邊緣排名屬性有五個值「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} 

通過測試我的vim環境,我可以認識到這些值有一些不同之處。 但不知道他們是什麼。

回答

32

離開排名空位或使用排名=相同的用法更頻繁。其他四種通常只在特殊情況下使用。

單獨使用時,min和source具有相同的功能:將所有這些節點放在最小等級(TB圖的最上面一行)上。它們之間的區別在於min將允許其他子圖的最小等級。來源不會。源只允許min或source的其他子圖在最低等級上。

考慮以下圖片斷:

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

你最終將有2行。 a - > b將在c - > d之上。

如果將source更改爲min,則只會獲得一行。 a - > b將在c - > d的左側,全部以最低等級排列。

Max和sink是圖形底部的等價物。

+0

感謝您的好評 – nirvana9235 2011-05-28 06:57:07