2009-08-26 11 views
6

Comment faire pour casser un graphique graphviz plat mais peu connecté en plusieurs lignes?Graphviz: briser le graphique plat mais peu connecté en plusieurs lignes?

Graphviz fournit un graphique d'environ 4 rangs, mais plus de 9000 nœuds de large. Cependant, étant donné que le graphe est peu connecté, nous pouvons le diviser en rangées, par exemple 1000 nœuds, et le placer ainsi sur neuf rangées d'une page. Comment cela peut-il être fait?

Je ne cherche pas les retours à la ligne, mais plutôt les sauts de ligne dans un éditeur de texte (est-ce clair que je recherche?).

Edit:PDF with example graph here

+0

Pour quelqu'un très utilisé pour tracer des problèmes de mise en page, je pense que c'est assez clair. Le reste d'entre nous aimerait une image montrant le cas de problème et le but désiré. Une maquette dessinée à la main suffirait, bien sûr. – unwind

Répondre

-2

J'ai trouvé un travail autour: nous prenons la sortie d'exécuter la commande dot (qui est un fichier de points avec tous les x/positions y là-dedans) et l'envoie à un script Ruby pour briser le graphique en lignes "manuellement".

+6

Eh bien, c'est à peu près aussi inutile que ça va, n'est-ce pas? aucune indication de ce que fait le script Ruby, ce qui rend cette réponse pratiquement inutile, mais collante sur les recherches Google. –

0

Comme GraphViz Documentation, section 2.5: Noeud et Edge Placement, comme Figure 9: Graphique avec rangs contraints?

http://www.graphviz.org/pdf/dotguide.pdf

+0

Merci pour le pointeur! Mais autant que je vois, je ne peux pas mettre un sous-graphe en dessous d'un autre sans un troisième pour les aligner. Et aussi, je devrais le faire manuellement, c'est-à-dire avoir à connaître à l'avance les composants connectés et décider manuellement lequel mettre sur la même ligne. Je préférerais avoir quelque chose qui utilise 'dot' pour aligner les sous-graphes et ensuite' neato' pour mettre en page tous les sous-graphes. – akuhn