1

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

这是我现在拥有的:

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

细节:

  • 包裹在黑色边框的盒子里。
  • 补丁位于橙色边框+橙色边缘。
  • 进口在红色边框+红色边缘。
  • 没有单个根包节点。我们可以说有几个顶级(根)包节点,4-10个节点包(节点),它们导入大部分包。
  • 有独立的包(节点),没有依赖项,也没有依赖于它们。
  • 补丁只能(大部分)由单个包节点使用。
  • 并非所有包节点都有补丁。我会说一小部分包节点有它们。
  • 导入文件可以包含在很大一部分包节点中(例如,所有包节点的 1/3)。
  • 我有 rankdir="TB"(上下)
  • 我增加了边缘的重量(包->补丁)。这应该意味着补丁节点更接近它们的包节点。
  • 尽量减少覆盖节点的边数会很好。这使得图表非常不可读。

在这种情况下,对图形布局配置和算法使用有什么建议吗?

4

1 回答 1

0

令人印象深刻的图表!我会尝试如果你会发生什么

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

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

于 2011-12-21T16:07:57.867 回答