我正在尝试使用 graphviz 绘制 C 头文件之间的依赖关系图。
基本上,我正在做的是记录所有出现的#include 和条件(我的意思是#if 条件)。如果一个文件包含另一个文件,则它在图中成为它的父亲,潜在条件是边缘标签。
我得到一个相当大的图表。问题源于始终水平的边缘标签(您无法更改它)并且似乎总是左对齐(我尝试过 labelloc 和 labeljust 但它没有改变任何东西。“居中”的正确方法是什么?一条边的标签。
为了避免这个问题,我尝试将条件渲染为节点。如果 Ah 在 ANSI 条件下包含 Bh,则存在从 Ah 到 ANSI,然后从 ANSI 到 Bh 的链接。这看起来不错,但问题是如果 Ch 在相同条件下包含 Dh,我会看到从 Ah 到 ANSI 的链接, 一个从到 Ch 到 ANSI;一个从 ANSI 到 Bh ,一个从 ANSI 到 Dh 。问题是我不知道是 Ah 还是 Ch 包含 Bh 。有没有办法指定诸如通过节点之类的东西(ANSI下的从Ah到Bh的链接可能利用了透明度。)