2010-02-20 74 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。这并不完美,但它的工作是合理的。