2010-02-20 22 views
5

Napisałem narzędzie do znajdowania zależności zależności za projektem Python. Jest to Gluttony. Uruchomiłem go na Plone, efekt jest imponujący. I wyjście schemat z NetworkX, a wygląda to tak: (! Gee Wygląda jak World of Goo)Jak wygenerować diagram zależności zależności Plona od Graphviz?

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

Bałagan! Nie obsłużyłem układu z Networkx. Dlatego jest bałagan. Narzędzie może wysyłać plik w formacie Graphviz. Próbowałem wyrenderować diagram za pomocą polecenia dot. Używam polecenia w ten sposób:

dot -Kdot -Tpng -oplone plone.dot 

Po długim biegu uzyskałem ogromny obraz, ale wynik wydaje się błędny. Nic nie widzę na obrazie wynikowym. Wygląda jak biały papier, nic na nim. Co jest nie tak? Czy diagram jest zbyt duży, aby go renderować? Co powinienem zrobić, aby stworzyć tak wielki, złożony diagram?

mogę uzyskać poprawny wynik z innym małym wykresie, podobnie jak ten: Dependency diagram of sprox http://python-gluttony.googlecode.com/files/sprox.png

Nawet znacznie większy schemat może być renderowane prawidłowo, zobaczmy schemat TurboGears2

myślę, że powinno być zabawą aby zobaczyć relację zależności takiego potwornego projektu, jakim jest Plone. Przydaje się również do badań. Niestety, nie mogę poprawnie wyprowadzić diagramu. Zimne, żeby ktoś mi pomógł? Dzięki.

Oto format pliku Graphviz z Plone: ​​ plone.dot

+0

Jeśli obraz jest ogromny, przeglądarka zdjęć może mieć problemy. Wiem, że Crome i IE nie mogły pokazać ogromnych grafvizowanych obrazów, które wyreżyserowałem kilka miesięcy temu. –

Odpowiedz

1

Jeśli można uzyskać obraz: Graphviz tendencję do tworzenia ogromne plików. Powiększ.

Dla mnie graphviz regularnie zawiesza się na twoim pliku. Wygląda na to, że max na 32 kPixels na stronie, a twój plik będzie większy, co spowoduje przepełnienie liczby całkowitej.

Spróbuj podzielić plik na wiele podrysów (dodatkowe punkty za używanie algorytmów graficznych do wyszukiwania dobrych punktów separacji).

Aktualizacja:

zwymiotowałem krótki skrypt split dot files. Nie jest doskonały, ale działa rozsądnie.

Powiązane problemy