2009-09-25 35 views
19

Estoy usando Graphviz para dibujar algunos gráficos. Estoy usando etiquetas en los nodos y puedo ponerlo en "\n" para forzarlo a dividir la etiqueta en 2 líneas. ¿Hay alguna forma de obtener Graphviz (o dot que estoy usando) para ver automáticamente que debe dividir algunas etiquetas de nodos, y para que ella misma haga la mejor elección automágicamente?Etiquetas multilínea automáticas en Graphviz?

Respuesta

10

También he buscado esto, pero no creo que sea posible en la versión actual. La "solución" actual es escribir código que automáticamente agrega "\ n" cada pocos caracteres, en función de la distancia mínima entre nodos (atributo nodesep, si no me equivoco).

+3

También puede utilizar las etiquetas HTML similar (citado con '' <...> en lugar de ' "..."') que no se ajuste automáticamente, pero le da un mayor control sobre el diseño de \ n. Tal vez eso junto con una estimación de la longitud de la secuencia procesada representada en la biblioteca de gráficos de su sistema podría adivinar dónde colocar los descansos. –

7

Sí, las etiquetas de tipo HTML (< ...>) admiten la etiqueta
, con la que puede romper las líneas. P.ej.

"A" -> "B" 
[label = <1. <br/> 
2. <br/> 
3. <br/> 
4. <br/> 
.... <br/> 
> color="blue" style="dashed"]; 
+3

-1 Esto no responde la pregunta. También es peor que el método actual que se usa (dos caracteres es mejor que cinco). –

+4

No responde la pregunta, pero proporciona una excelente solución de solución, así que le doy +1 a esta – Pascal