直到今天,我一直在使用doxygen(+点)的“古老”版本(1.4.7),它通常绘制具有垂直方向的图形,例如
..但使用较新的版本(通过Ubuntu分发的版本为1.8.6),则这些图似乎是水平的,即
水平方向的问题在于,许多图形在窗口的右边缘都偏离得很好,因此您必须进行“2D”滚动才能看到数据。
我查看了doxygen网页,但看不到是否可以告诉点以垂直方向绘制它们的选项。有人知道这样的选择是否存在吗?
最佳答案
2014年有一个类似的问题,我重复回答:
Flip doxygen's graphs from top-to-bottom orientation to left-to-right
在自己寻找相同的东西之后,什么也没找到,我能提供的最好方法是使用graph属性rankdir进行破解。
步骤1)确保Doxygen保留了点文件。将DOT_CLEANUP = NO放入您的配置文件中。
步骤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,批量替换文本不在此答案的范围内:)。但是这里似乎是一个很好的答案:
How can you find and replace text in a file using the Windows command-line environment?
关于Doxygen:是否可以控制依赖图的方向?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32967122/