python - nodesep - trazado de un gran gráfico con graphviz
linux graphviz (3)
Mis hijas han hecho un juego similar a tic-tac-toe. Por supuesto, mientras jugaba con ellos comencé a forzarlo brutalmente en mi cabeza ...
Así que a la hora del almuerzo hice un pequeño script de Python para ''resolver'' el juego. Y quería ver los resultados gráficamente, así que generé un archivo de puntos de todos los movimientos legales:
Cuando intento renderizarlo usando dot
, toma una eternidad y lo cancelo luego de unas horas.
Si lo renderizo usando neato
o sfdp
, etc., toma unos segundos o menos, pero el diseño es imposible de leer:
sfdp -x -Tpng data.dot > data.png
neato -x -Tpng data.dot > data.png
Me gustaría que la imagen resultante sea de varios megapíxeles.
¿Cómo puedo diseñar y renderizar un gráfico tan grande? Estoy abierto a sugerencias sin puntos, como las bibliotecas de Python que también pueden hacer el diseño.
Agregado : mi script de Python para resolver el juego y generar el archivo de puntos
Además de otras respuestas, puede usar otras herramientas como Gephi .
Gephi es el software líder de visualización y exploración para todo tipo de gráficos y redes. Gephi es de código abierto y gratuito.
Se ejecuta en Windows, Mac OS X y Linux.
Prueba esto:
sfdp -x -Goverlap=scale -Tpng data.dot > data.png
El -Goverlap
conserva el diseño pero escala uniformemente las cosas hasta que no haya más superposiciones de nodos. Pude obtener un PNG ~ 77MB que se ve así cuando se aleja.
aún puedes usar el neato pero modificar el archivo .dot poniendo: [splines = true overlap = false]
Y su archivo debería verse así:
digraph luffarschack {
graph [splines=true overlap=false];
node [shape=none];
...here your nodes;
...here your edges;
}
Debería funcionar si simplemente pone en la segunda línea "graph [splines = true overlap = false]" y todo lo demás permanece igual.