5

Pythonプロジェクトの背後にある依存関係を見つけるためのツールを作成しました。ぐらぐらです。私はそれをPloneで実行しました、結果は印象的です。Networkxを使用して図を出力すると、次のようになります。

Networkxによって出力されたPloneの依存関係図
(ソース:googlecode.com

(ジー!グーの惑星のようだ!)

混乱!Networkxではレイアウトを処理しませんでした。それが混乱である理由です。ツールはGraphviz形式のファイルを出力できます。ドットコマンドで図をレンダリングしてみました。私は次のようなコマンドを使用します:

dot -Kdot -Tpng -oplone plone.dot

久しぶりに巨大な画像が出ましたが、結果がおかしいようです。結果の画像には何も表示されません。それは白い紙のように見えますが、何も書かれていません。どうしたの?ダイアグラムが大きすぎてレンダリングできませんか?このような巨大で複雑な図をレンダリングするにはどうすればよいですか?

このような他の小さな図から正しい結果を得ることができます:( ソース:googlecode.comsproxの依存関係図

はるかに大きな図でも正しくレンダリングできます。TurboGears2の図を見てみましょう。

Ploneのようなモンスタープロジェクトの依存関係を見るのは楽しいはずだと思います。研究にも役立ちます。残念ながら、図を正しく出力できません。冷たい誰かが私を助けてくれますか?ありがとう。

PloneのGraphviz形式のファイルは次のとおりです: plone.dot

4

2 に答える 2

2

このコマンドdot plone.dot -Tsvg > plone.svgは、このスケーラブルなベクトル グラフィックをレンダリングします。

代替テキスト http://dl.dropbox.com/u/138632/plone.svg

Inkscapeで.svg ファイルを問題なく開くことができ、100% まで拡大できます。

于 2010-02-21T12:52:46.847 に答える
1

画像を作成できる場合:Graphvizは巨大なファイルを作成する傾向があります。ズームイン。

私にとって、graphvizはあなたのファイルで定期的にクラッシュします。片側あたり32kPixelで最大になるようで、ファイルが大きくなり、整数のオーバーフローが発生します。

ファイルを複数のサブグラフに分割してみてください(適切な分離点を見つけるためにグラフアルゴリズムを使用するための追加の点)。

アップデート:

ドットファイルを分割するための簡単なスクリプトを作成しました。完璧ではありませんが、合理的に機能します。

于 2010-02-20T18:09:41.867 に答える