web-dev-qa-db-fra.com

établissant un grand graphique avec graphviz

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:

J'ai collé les données ici .

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

sfdp

neato -x -Tpng data.dot > data.png

neato

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.

( lien quelque peu lié )

Added: mon script Python pour résoudre le jeu et générer le fichier de points

40
Will

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 .enter image description here

42
job

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.

7
DanielBoloc

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.

0
Christophe Roussy