tutorial online nodesep example compiler layout graph graphviz dot

layout - online - Graphviz DOT organiza los nodos en círculos, el diseño también es "compacto"



nodesep graphviz (2)

Estoy a mitad de camino, por favor mira la edición

OK, aquí está mi problema, estoy generando un gráfico de un módulo python, que incluye todos los archivos con sus funciones / métodos / clases.

Quiero organizarlo para que los nodos se reúnan en círculos alrededor de sus nodos principales, actualmente todo está en una fila horizontal gigantesca, lo que hace que el objeto tenga> 50k píxeles de ancho y también el convertidor svg falla (solo representa aproximadamente la mitad del gráfico )

Revisé los documentos pero no pude encontrar nada que pareciera ser el truco.

Entonces la pregunta es:
¿Hay una manera simple de hacer esto o tengo que diseñar todo por mi cuenta? : /

EDITAR:
Gracias a Andrews, comento que tengo el diseño correcto, el único problema ahora es que es un poco "compacto" ... entonces la pregunta ahora es, ¿cómo arreglar esto?


He mencionado todos los parámetros más importantes que influyen en su diseño actual y luego los valores sugeridos para esos parámetros. Aún así, sospecho que puede obtener el diseño que desea simplemente aplicando algunas de estas sugerencias.

  • reducir el peso del borde , por ejemplo, [peso = 0.5]; esto hará que los bordes sean más largos, lo que hará que los conglomerados ajustados que ve actualmente en su gráfico se ''desplieguen''.

  • deshacerse de los bordes del nodo , node_A [color = none; forma = texto claro]; especialmente para los nodos de forma ovalada, una fracción sustancial del espacio total del nodo está "sin usar" (es decir, no se usa para mostrar la etiqueta del nodo).

  • establecer explícitamente el tamaño de fuente para los nodos (los bordes del nodo se amplían para que rodeen el texto del nodo, lo que significa que el tamaño de la fuente y la cantidad de texto para un nodo dado tiene un efecto significativo en su tamaño); [fontsize = 11] debe ser lo suficientemente grande como para ser legible y, a la vez, reducir el aspecto "desordenado" (el tamaño predeterminado es 14).

  • aumentar la separación mínima entre nodos, a través de ''nodesep'' ; por ejemplo, nodesep = 2.0; esto abordará directamente su objeción con respecto a que su gráfico sea "demasiado compacto". (''nodesep'' y ''ranksep'' probablemente afecten la forma en que dibuja un gráfico más que cualquier otro parámetro para nodo, borde o gráfico. En su caso, parece que tiene solo dos rangos de nodos; ''ranksep'' establece la distancia mínima entre nodos de diferentes rangos: parece que todos los nodos que componen su gráfico son del mismo rango (excepto por algunos nodos de nivel superior en los centros).

  • establecer explícitamente el tamaño total del gráfico , por ejemplo, size = "7.75,10.25" (asegura que su gráfico se ajusta a una página de 8.5 x 11 y que ocupa todo el espacio)

  • Y una sugerencia puramente estética que como mucho solo ayudará a que su gráfico parezca menos desordenado: el color de fuente predeterminado para los bordes y los nodos es negro. La mayoría de la tinta en su gráfico proviene de esas dos estructuras (particularmente si elimina los bordes del nodo), por lo que, por ejemplo, establecería el color de fuente del nodo (texto) o el color de fuente del borde en "azul" para ayudar al ojo a distinguir el dos conjuntos de estructuras gráficas.


Si es demasiado compacto, querrá meterse con la longitud del borde. Tienes un par de opciones dependiendo del diseño del gráfico:

  1. Si su diseño es sfdp o fdp, modifique la propiedad del gráfico K. El valor predeterminado es 0.3.
  2. Para neato (o fdp), ajuste la propiedad de borde len . El valor predeterminado es 1.0 para neato y 0.3 para fdp.
  3. Para dot puede usar el minlen de propiedad edge, que es la longitud de borde mínima. El valor predeterminado es 1.

También es posible que desee meterse con el modelo de propiedad del gráfico que determina el comportamiento de agrupamiento. Específicamente, prueba subconjunto . Creo que esto maneja len para usted: http://www.graphviz.org/doc/info/attrs.html#d:model

Además, puede eliminar las superposiciones junto con las técnicas de escala: http://www.graphviz.org/doc/info/attrs.html#d:overlap