【问题标题】:Flip doxygen's graphs from top-to-bottom orientation to left-to-right将 doxygen 的图表从上到下翻转到从左到右
【发布时间】:2014-05-30 23:26:36
【问题描述】:

includes”和“is included by”的 doxygen 图是在嵌套深度从上到下增加的情况下创建的(使用 1.8.5)。

由于我们大多是带有许多节点的浅图,这会导致非常宽的图带有丑陋的水平滚动条。有没有办法教 doxygen 以从左到右的方向创建这些图,就像它创建调用者/调用图的方式一样?

我知道graphviz/dot 支持这一点,但找不到告诉 doxygen 我的偏好的方法。

【问题讨论】:

  • 恕我直言,恐怕 doxygen 内部没有开关可以做到这一点。也许通过一些sed 处理将rotate 属性添加到生成的点文件?

标签: orientation doxygen graphviz


【解决方案1】:

最近有一个类似的问题,我重复回答: Doxygen: Is it possible to control the orientation of dependency graphs?

在自己寻找相同的东西但一无所获之后,我能提供的最好的方法是使用图形属性 rankdir 进行破解。

第 1 步)确保 Doxygen 保留点文件。将 DOT_CLEANUP=NO 放入您的配置文件中。

第 2 步)找到 Doxygen 生成的点文件。应采用 *__incl.dot 的形式。对于以下步骤,我将此文件称为<source>.dot

步骤 3a) 假设 dot 文件没有明确指定 rankdir(通常默认为 TB"),使用此命令重新生成输出。

dot -Grankdir="LR" -Tpng -o<source>.png -Tcmapx -o<source>.map <source>.dot 

第 3b 步)如果由于某种原因在 dot 文件中指定了 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?

【讨论】:

  • 谢谢迈克尔。破解总比没有好。
猜你喜欢
  • 2014-12-31
  • 1970-01-01
  • 2017-09-11
  • 1970-01-01
  • 2010-12-02
  • 2011-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多