2010-02-20 78 views
5

我寫了一個工具來查找Python項目後面的依賴關係。它是Gluttony。我在Plone上運行它,結果令人印象深刻。 I輸出與Networkx的圖,它看起來像這樣:(!嘖嘖看起來粘粘世界)如何用Graphviz輸出Plone巨大的依賴關係圖?

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

亂七八糟的!我沒有使用Networkx處理佈局。這就是爲什麼它是一團糟。該工具可以輸出Graphviz格式文件。我試圖用點命令渲染圖。我使用這樣的命令:

dot -Kdot -Tpng -oplone plone.dot 

長時間運行後,我得到了一個巨大的形象,但結果似乎是錯誤的。我看不到結果圖片上的任何內容。它看起來像一張白紙,沒有任何東西。怎麼了?該圖太大而無法渲染?我應該怎麼做才能渲染這麼龐大的複雜圖表?

我可以從其他小圖得到正確的結果,像這樣的: Dependency diagram of sprox http://python-gluttony.googlecode.com/files/sprox.png

即使一個更大的圖可以正確地呈現,讓我們看到的TurboGears2

我認爲這應該是有趣的圖看到像Plone這樣的怪物項目的依賴關係。這對研究也很有用。不幸的是,我無法正確輸出圖表。感冒有人幫助我嗎?謝謝。

這裏是Plone中的Graphviz的格式文件: plone.dot

+0

如果圖像很大,圖像查看器可能會有問題。我知道Crome和IE無法顯示我幾個月前提交的巨大graphviz圖像。 – 2010-02-23 08:35:56

回答

1

如果可以產生的圖像:Graphviz的,往往會造成巨大的文件。放大。

對於我graphviz定期崩潰在您的文件。它似乎最大每邊32 kPixels和您的文件將更大,導致整數溢出。

嘗試將文件分成多個子圖(使用圖算法尋找好分離點的附加點)。

更新:

我扔了一個快速的腳本來split dot files。這並不完美,但它的工作是合理的。