如何使用Graphviz输出Plone的巨大依赖关系图?

6
我写了一个工具来查找Python项目背后的依赖关系。它叫做Gluttony。我在Plone上运行它,结果令人印象深刻。我使用Networkx输出了图表,它看起来像这样:

Plone的依赖关系图表,由Networkx输出
(来源:googlecode.com)

(哇!看起来像《小小大星球》!)

一团糟!我没有用Networkx处理布局,这就是为什么会出现一团糟的原因。该工具可以输出Graphviz格式文件。我尝试使用dot命令渲染图表。我使用以下命令:

dot -Kdot -Tpng -oplone plone.dot

我长时间运行后得到了一张巨大的图片,但结果似乎是错误的。 我在结果图像上看不到任何东西。 它看起来像一张白纸,上面没有任何东西。 出了什么问题? 图表是否过大而无法渲染? 对于呈现如此巨大且复杂的图表应该怎么办?

我可以从其他小图中获得正确的结果,比如这个: Dependency diagram of sprox
(来源:googlecode.com)

即使是更大的图表也可以正确呈现,让我们看看TurboGears2的图表

我认为看到像Plone这样的庞然大物项目的依赖关系应该很有趣。对于研究也很有用。不幸的是,我无法正确输出图表。能否有人帮忙解决?谢谢。

这是Plone的Graphviz格式文件: plone.dot

如果图像非常巨大,您的图像查看器可能会出现问题。我知道Chrome和IE无法显示我几个月前渲染的巨大的Graphviz图像。 - Jonas Byström
2个回答

2

1

如果您可以生成一张图片:Graphviz往往会创建巨大的文件。放大查看。

对我来说,graphviz经常在您的文件上崩溃。它似乎在每个边上最多达到32 kPixels,并且您的文件将更大,导致整数溢出。

尝试将文件拆分成多个子图(使用图算法找到良好的分离点可获得额外积分)。

更新:

我写了一个快速脚本split dot files。它不是完美的,但它工作得还不错。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接