我查看了Graphviz资源页面,以及问题1和2,但仍然找不到具体的答案。我的用例是浏览软件组件(例如可安装软件包)之间的依赖关系,并且其中一个特点是一些常见节点是许多边的目标。例如,几乎每个可执行软件包都依赖于libc。
基于这个特点,我想要一个具有以下功能的查看器/库:
- 使用Graphviz“dot”布局算法(强制布局算法在不同库中很多,但对于所讨论的用例来说,它们提供的布局质量不好)。
- 交互式地禁用/重新启用图中的某些节点(如上述的libc示例)。
- 交互式地禁用/重新启用特定节点的所有边缘(例如,libpng依赖于libz,但这是显而易见的,可以禁用以避免混乱视图)。
- 将图重新根节点化(显示仅从该节点可达的子图),并“缩回”至完整图。
最后,如果不存在这样的解决方案,则欢迎提供实现这些功能的最佳框架建议。