fdp - ¿Cómo puedo optimizar el ancho de salida de GraphViz?
graphviz mac (3)
En el caso de que el gráfico conste de varios árboles que no estén conectados, puede dividirlos (como se menciona en Graphviz: ¿ el gráfico se divide en varias filas? )
Dependiendo de su gráfico en particular, puede obtener un gráfico más pequeño al usar
ratio="compress"
(Tendrás que especificar el size
)
Para obtener optimizaciones detalladas en un gráfico específico, puede agregar atributos de rank
y distribuir los nodos manualmente en diferentes rangos.
Editar:
Hay una herramienta de graphviz llamada no abierta que parece existir exactamente para este propósito:
no es un preprocesador que se usa para mejorar la relación de aspecto de los gráficos que tienen muchas hojas o nodos desconectados. El diseño habitual de este gráfico es generalmente muy ancho o alto. sin aberturas inserta bordes invisibles o ajusta el minlen en los bordes para mejorar la compactación del diseño.
Nunca tuve la necesidad de usarlo, pero creo que vale la pena intentarlo.
Hago gráficos que tienen una relación de ancho enorme: tienen un tamaño de 51706 x 503 píxeles. ¿Cómo puedo decirle a GraphViz que optimice el ancho?
Nota 1: la gráfica es, de hecho, un árbol con cada nodo que tiene muchos hijos. Aquí hay una sample .
Nota 2: Creo que uso el punto :)
Nota 3: Aquí está el código Ruby
Puedes intentar jugar con el parámetro ratio .
También tuve el problema de que neato tenía mucho espacio entre las cajas. Finalmente conseguí un resultado razonable utilizando además las siguientes configuraciones de gráficos:
overlap=prism, overlap_scaling=0.01, ratio=0.7
Es especialmente útil probar diferentes valores para la superposición de escala y la relación. Es el más rápido de usar ejemplos más pequeños (<50 nodos) y usa gvedit.exe para ver los efectos.
Me tomó bastante tiempo identificar estas configuraciones, que están documentadas en http://www.graphviz.org/doc/info/attrs.html