2010-02-20 11 views
5

J'ai écrit un outil pour trouver des relations de dépendance derrière un projet Python. C'est Gluttony. Je cours sur Plone, le résultat est impressionnant. Je sortie le schéma avec NetworkX, et il ressemble à ceci: (! Gee Il ressemble à World of Goo)Comment afficher un diagramme de relations de dépendance énorme de Plone avec Graphviz?

Dependency diagram of Plone, output by Networkx http://python-gluttony.googlecode.com/files/plone_nx.png

Un gâchis! Je n'ai pas géré la mise en page avec Networkx. C'est pourquoi c'est un gâchis. L'outil peut sortir le fichier de format Graphviz. J'ai essayé de rendre le diagramme avec la commande de point. J'utilise la commande comme ceci:

dot -Kdot -Tpng -oplone plone.dot 

J'ai obtenu une énorme image après une longue course, mais le résultat semble faux. Je ne vois rien sur l'image du résultat. On dirait un livre blanc, rien dessus. Qu'est-ce qui ne va pas? Le diagramme est-il trop grand pour être rendu? Que dois-je faire pour rendre un tel diagramme complexe?

je peux obtenir un résultat correct d'autres petit diagramme, comme celui-ci: Dependency diagram of sprox http://python-gluttony.googlecode.com/files/sprox.png

Même un beaucoup plus grand diagramme peut être rendu correctement, nous allons voir le schéma de TurboGears2

Je pense que ce devrait être amusant pour voir la relation de dépendance d'un tel projet monstre comme Plone. En outre, il est utile pour la recherche. Malheureusement, je ne peux pas sortir le diagramme correctement. Froid quelqu'un m'aider? Merci.

Voici le fichier de format Graphviz de Plone: ​​ plone.dot

+0

Si l'image est volumineuse, votre visionneuse d'image peut rencontrer des problèmes. Je sais que Crome et IE n'ont pas pu montrer d'énormes images graphviz que j'ai rendues il y a quelques mois. –

Répondre

1

Si vous pouvez produire une image: Graphviz a tendance à créer énormes fichiers. Zoom avant.

Pour moi graphviz se bloque régulièrement sur votre fichier. Il semble que le maximum est de 32 kPixels par côté et votre fichier serait plus grand, ce qui entraînerait un débordement d'entier. Essayez de diviser le fichier en plusieurs sous-graphes (points supplémentaires pour l'utilisation d'algorithmes graphiques pour trouver de bons points de séparation).

Mise à jour:

je jette un script rapide à split dot files. Ce n'est pas parfait, mais cela fonctionne raisonnablement.