Mes filles ont créé un jeu pas comme le tic-tac-toe. Bien sûr, en jouant avec eux, j'ai commencé à le forcer brutalement dans ma tête ...
Alors à l'heure du déjeuner, j'ai créé un petit script rapide en Python pour "résoudre" le jeu. Et comme je voulais voir les résultats graphiquement, j'ai généré un fichier de points contenant tous les mouvements légaux:
Quand j'essaie de le rendre en utilisant dot
, cela prend une éternité et je l'abandonne au bout de quelques heures.
Si je le convertis en utilisant neato
ou sfdp
etc., cela prend quelques secondes ou moins, mais la présentation est impossible à lire:
sfdp -x -Tpng data.dot > data.png
neato -x -Tpng data.dot > data.png
Je serais heureux que l'image résultante soit plusieurs mégapixels.
Comment puis-je tracer et rendre un graphique si gros? Je suis ouvert aux suggestions autres que les points, comme les bibliothèques Python qui peuvent aussi faire la mise en page.
Added: mon script Python pour résoudre le jeu et générer le fichier de points
Essaye ça:
sfdp -x -Goverlap=scale -Tpng data.dot > data.png
Le -Goverlap
préserve la mise en page mais redimensionne uniformément les choses jusqu'à ce qu'il n'y ait plus de chevauchement de nœuds. J'ai pu obtenir un fichier PNG de ~ 77 Mo qui ressemble à ceci lorsque vous effectuez un zoom arrière .
vous pouvez toujours utiliser le neato mais modifier le fichier .dot en mettant: [splines = true overlap = false]
Et votre fichier devrait ressembler à ceci:
digraph luffarschack {
graph [splines=true overlap=false];
node [shape=none];
...here your nodes;
...here your edges;
}
Cela devrait fonctionner si vous mettez juste dans la deuxième ligne "graph [splines = true superposent = false]" et tout le reste reste le même.
En plus d'autres réponses, vous pouvez utiliser d'autres outils tels que Gephi .
Gephi est le principal logiciel de visualisation et d’exploration pour tous types de graphes et de réseaux. Gephi est open-source et gratuit.
Fonctionne sous Windows, Mac OS X et Linux.