2010-12-22 127 views
25

consideran este código dot idioma:Graphviz: cómo configurar el estilo de flecha 'predeterminado'?

digraph graphname { 
    subgraph clusterA { 
     node [shape=plaintext,style=filled]; 
     1 -> 2 [arrowhead=normal,arrowtail=dot]; 
     2 -> 3 -> X2 -> 5; 
     6; 
     7; 
     label = "A"; 
     color=blue 
    } 
} 

En el ejemplo anterior, sólo la conexión 1 -> 2 tendrá el estilo arrowhead=normal,arrowtail=dot aplicada; todas las otras flechas serán del estilo "predeterminado".

Mi pregunta es: ¿cómo configuro el estilo de flecha (para todo el subgrafo - o para todo el gráfico), sin tener que copiar pegar "[arrowhead=normal,arrowtail=dot];" al lado de cada conexión de borde?

EDITAR: Solo como referencia - el answer from Jesse no contiene ningún código; Escribí ese fragmento y lo tenía en este espacio, por razones desconocidas, un moderador lo cortó de aquí y lo pegó en la respuesta de Jesse.

Respuesta

28

Utilice la declaración de atributo edge, como se indica en el DOT Language documentation.

digraph graphname { 
    subgraph clusterA { 
     node [shape=plaintext,style=filled]; 
     edge [arrowhead=normal,arrowtail=dot]; 
     1 -> 2 ; 
     2 -> 3 -> X2 -> 5; 
     6; 
     7; 
     label = "A"; 
     color=blue 
    } 
} 
+1

Impresionante - gracias por la respuesta, @JesseW - aceptar para la referencia :) Por cierto, me acaba de encontrar [doxygen - cómo cambiar el tamaño de fuente predeterminado para graphviz? - Stack Overflow] (http://stackoverflow.com/questions/1938200/how-to-change-default-font-size-for-graphviz) que también, más o menos, explica lo mismo :) – sdaau

+0

Sólo una nota: usted también puede hacer esto en la línea de comando (es decir, sin modificar el archivo DOT) agregando un parámetro de línea de comando como '-Earrowtail = dot'. En general, '-E' se utiliza para establecer los atributos predeterminados * edge *,' -N' para establecer los atributos predeterminados * node * y '-G' para establecer los atributos predeterminados * graph *. – Rod

5

igual que lo hizo para los nodos, pero utilizando edge, por ejemplo, edge[style=dashed]

+1

Gracias por la respuesta rápida también, @Fabian Steeg - dio la aceptación a @JesseW causa del enlace :) ¡Salud! – sdaau

Cuestiones relacionadas