最近有人问了一个类似的问题,我重复回答一下:Doxygen:是否可以控制依赖图的方向? https://stackoverflow.com/questions/32967122/doxygen-is-it-possible-to-control-the-orientation-of-dependency-graphs
在我自己寻找相同的内容但一无所获之后,我能提供的最好的就是使用图形属性rankdir进行黑客攻击。
步骤 1) 确保 Doxygen 保留点文件。将 DOT CLEANUP=NOT 放入您的配置文件中。
步骤 2) 找到 Doxygen 生成的点文件。应采用 *__incl.dot 形式。对于下面的步骤,我将该文件称为<source>.dot
步骤3a)假设点文件没有显式指定rankdir(通常默认为TB”),使用此命令重新生成输出。
dot -Grankdir="LR" -Tpng -o<source>.png -Tcmapx -o<source>.map <source>.dot
步骤 3b) 如果由于某种原因在点文件中指定了rankdir,请进入该文件并添加rankdir="LR"
(默认情况下它们是rankdir
被设定为"TB"
).
digraph "AppMain"
{
rankdir="LR";
...
然后使用以下命令重新生成输出:
dot -Tpng -o<source>.png -Tcmapx -o<source>.map <source>.dot
每次运行 Doxygen 后都需要重做此操作。批处理文件可能很方便,特别是如果您想处理所有文件。对于步骤 3b,批量替换文本超出了本答案的范围:)。但这似乎是一个很好的答案:
如何使用 Windows 命令行环境查找和替换文件中的文本? https://stackoverflow.com/questions/60034/how-can-you-find-and-replace-text-in-a-file-using-the-windows-command-line-envir