2011-05-27 10 views
29

El atributo de rango en el borde tiene cinco valores "mismo", "mínimo", "origen", "máximo", "hundido". Excepto "lo mismo", no tengo idea de cuándo usar otros valores.El atributo Rank es confuso para mí

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} 

Con la prueba en mi entorno vim, puedo darme cuenta de que hay algo de diferencia por estos valores. Pero no sé exactamente para qué son.

Respuesta

32

Dejar el rango vacío o usar rank = same se usa con mucha más frecuencia. Estos otros cuatro generalmente solo se usan en circunstancias especiales.

Cuando se usan solos, min y source tienen la misma función: poner todos esos nodos en el rango mínimo (la fila superior de un gráfico de TB). La diferencia entre ellos es que min permitirá otros subgrafos en el rango mínimo. La fuente no lo hará. Source solo permite que otros subgrafos de min o source estén en el rango mínimo.

Considera el siguiente fragmento gráfico:

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

Usted va a terminar con 2 filas. a -> b estará por encima de c -> d.

Si cambia la fuente a min, solo obtendrá una fila. a -> b estará a la izquierda de c -> d, todo en el rango mínimo.

Max y sink son los equivalentes de la parte inferior del gráfico.

+0

gracias por la gran respuesta – nirvana9235

Cuestiones relacionadas