使图形人性化/可读(500个节点,1600个边缘)

时间:2011-12-06 09:40:17

标签: graphviz dot graph-visualization

我决定学习DOT语言,看起来很棒。我决定制作一个用于制作RPM构建图的项目。我扫描所有配方以构建RPM包,并添加有关所需补丁和导入的信息。目前我的图表有500个以上的节点和超过1600个边缘,并且大小应该稳定+/- 50-100个节点/边缘。

以下是我现在所拥有的:

前两个比最后一个更具可读性。

详细说明:

  • 包裹在黑色边框中。
  • 贴片采用橙色边框+橙色边缘。
  • 进口采用红色边框+红色边框。
  • 没有单个根包节点。我们可以说有几个顶级(根)包节点,4-10个节点包(节点),它们导入大部分包。
  • 有独立的包(节点),而不是依赖,没有依赖它们。
  • 修补程序只能(大部分)由单个程序包节点使用。
  • 并非所有包节点都有补丁。我会说包节点的较小部分有它们。
  • 导入文件可以包含在很大一部分包节点中(例如,所有包节点的1/3)。
  • 我有rankdir =“TB”(上下)
  • 我增加了边缘的重量(包裹 - >补丁)。这应该意味着补丁节点更靠近它们的包节点。
  • 最小化覆盖节点的边数会很好。这使图表难以理解。

在这种情况下,有关图形布局配置和算法用法的任何建议吗?

1 个答案:

答案 0 :(得分:0)

令人印象深刻的图表! 如果你

,我会尝试会发生什么
  • 给边缘一点透明度
  • 实际上让它们更长一些。我知道这会使图形更大,但它可以使它在视觉上更清晰,例如,如果你要打印它,你最终得到的缩小的字体大小可能会被更好的结构所引发。
  • 使用边框的简易版填充节点。
  • 使节点非常小,只给它们索引号。然后创建一个匹配颜色+索引号的图例到实际内容。这可能会违背图表的目的,但仍然可能值得尝试。对于初学者来说,只需省略标签并制作微小的彩色圆圈即可。不应该花太长时间,你可能最终会看到一些以前看不见的结构属性。如果您发现任何有用的东西,请尽可能少地回到节点上的信息,直到您找到一个很好的权衡。

哦,我从来没有设法让GraphViz在节点上绘制边缘......