¿Alguien tiene alguna sugerencias generales para reducir el tamaño de un gráfico generado por graphviz (tamaño como en la zona, no como en el tamaño del archivo).

Tengo una bastante grande gráfico (700 nodos). Puedo establecer un tamaño de fuente más pequeño para cada nodo, pero parece que sólo reducir el tamaño de la fuente y no el nodo de tamaño. Hay alguno de los atributos a reducir la cantidad total de espacio en blanco en el gráfico también? Gracias!

  • Esta stackoverflow.com/questions/1286813/… la respuesta es acerca de los más elegantes y menos trabajo para poner en práctica.
  • no, la respuesta que el enlace es en resumen «para que el gráfico sea más pequeño, «zoom out»–bien, que trabaja para probablemente representación de cualquier imagen digital. GraphViz es un motor de diseño gráfico, por lo tanto, una respuesta útil a las preguntas acerca de la reducción del tamaño de la gráfica están más útil dirigida a la presentación de la gráfica en sí, porque esa es la esencia de lo que GraphViz hace, que es diseño de gráficos. Lo que es más, el «zoom out» la solución no trata por ejemplo, de las grandes regiones de espacio en blanco o dispersión, pero las técnicas para un mejor diseño en el hecho de hacer.
InformationsquelleAutor garsh0p | 2010-08-06

1 Comentario

  1. 93

    En mi experiencia en el uso de graphviz para representar los gráficos de ese tamaño (~ 700 nodos), un mínimo de prueba-y-error de ajuste a esta combinación de valores de los atributos, algunos estructurales, algunos puramente estética-para todos los tres objetos (grafo, los nodos y aristas) debe hacer lo que usted quiere:

    reducir la separación mínima entre los nodos, a través de la ‘nodesep’; por ejemplo, nodos[nodesep=0.75]; esto hará que el gráfico de ser «demasiado compacto.» (nodesep y ranksep probablemente afectará a cómo dot dibuja un gráfico más que cualquier otro parámetro ajustable)

    reducir al mínimo la distancia entre los nodos de diferentes rangos, e.g, nodos[ranksep=0.75]; ‘ranksep que se establece que la distancia mínima entre nodos de diferentes rangos–esto afectará su diseño gráfico significativamente si el gráfico está compuesto de muchas filas

    aumentar el borde de pesos, por ejemplo, borde[peso=1.2]; esto hará que los bordes más cortos, en vez de hacer el gráfico completo más compacto

    quitar el nodo fronteras y el nodo de relleno, por ejemplo, nodos[color=ninguno; forma=plaintext], especialmente para el óvalo en forma de nodos, una fracción importante del total del nodo espacio es usado (es decir, no se utiliza para mostrar el nodo etiqueta); cada nodo de la huella se reduce ahora a su texto

    establecer explícitamente el tamaño de fuente para los nodos (el nodo fronteras se amplían de modo que rodean el nodo de texto, lo que significa que el tamaño de la fuente y la cantidad de texto para un determinado nodo tiene un efecto significativo en su tamaño); [fontsize=11] debe ser lo suficientemente grande para ser legible sin embargo, también reducir el ‘desordenado’ apariencia (el tamaño por defecto es de 14)

    uso de diferentes colores para los nodos y bordes–esto hará que el gráfico sea más fácil de leer; por ejemplo, establecer el nodo ‘texto’ color a azul y el borde de color a «gris» para ayudar al ojo a distinguir los dos conjuntos de estructuras gráfico. Esto hará una diferencia más grande de lo que usted podría pensar.

    establecer explícitamente total tamaño de la gráfica, por ejemplo, gráfico[size=»7.75,10.25″] (se asegura de que el gráfico se ajusta en un 8,5 x 11 página y que ocupa todo el espacio)

    • Gracias por la respuesta detallada. El único problema que tengo es que ajuste el tamaño de la fuente no parece reducir el conjunto de nodos tamaño de la misma. Parece que la única cosa que se hace más pequeño es el de la fuente.
    • no hay problema. En cuanto a ‘fontsize’, si quitan el nodo de fronteras y el nodo de relleno antes, de modo que la representación de cada nodo es sólo el nodo de texto, a continuación, reducir el tamaño del texto es exactamente lo que usted desea, porque reduce la ‘aparente’ nodo tamaño. (Concedido, la eliminación de los nodos de las fronteras de relleno no siempre mejora general de ‘resolución’–solo depende de tu gráfico, pero sabes tan pronto como usted lo intente).
    • Las sugerencias anteriores son grandes y ofrecen mucho más poder de lo que tengo que hacer… cat [something.dot] | dot-Gdpi=64 -Tpng:cairo:cairo > [outfile.png] que sólo la escala de la gráfica…
    • Cambiar el nodo de borde gris que realmente hizo una diferencia, especialmente cuando se tiene que los poros grandes desordenado gráficos. Gracias!
    • nodes[nodesep=0.75] no funciona, tiene que ser puesto directamente en el gráfico. Mismo para ranksep
    • Puede dar un ejemplo? Por otra parte, y tal vez incluso mejor, se puede hacer una edición a la respuesta?

Dejar respuesta

Please enter your comment!
Please enter your name here