Doxygen:是否可以控制依赖图的方向?

2024-01-06

Up until today, I'd been using an "ancient" version (1.4.7) of doxygen (+dot) and it typically drew graphs with a vertical orientation, e.g.
enter image description here

.. but with a more recent one (1.8.6 as distributed via Ubuntu), the graphs seem to be horizontal, i.e.
enter image description here

水平方向的问题是许多图表远离窗口的右边缘,因此您必须进行“2D”滚动才能查看数据。

我查看了 doxygen 网页,但看不到是否有一个选项可以告诉 dot 以垂直方向绘制它们。有谁知道是否存在这样的选择?


2014年有人问过类似的问题,我重复回答:将 doxygen 的图表从上到下方向翻转为从左到右 https://stackoverflow.com/questions/23103527/flip-doxygens-graphs-from-top-to-bottom-orientation-to-left-to-right

在我自己寻找相同的内容但一无所获之后,我能提供的最好的方法是使用图形属性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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Doxygen:是否可以控制依赖图的方向? 的相关文章

  • Doxygen:是否可以控制依赖图的方向?

    Up until today I d been using an ancient version 1 4 7 of doxygen dot and it typically drew graphs with a vertical orien
  • 带有 C# 内部访问修饰符的 Doxygen

    我正在使用 Doxygen 为我正在处理的 C 项目生成一些 API 文档 我在这个项目中有相当多的 内部 功能 并且不希望 Doxygen 在它生成的生成的 html 中生成这些签名 我已尝试启用 HIDE FRIEND COMPOUND
  • Dot:如何用黑色轮廓装饰图形节点,同时用另一种颜色填充?

    我需要格式化点图的帮助 为了简化我的问题 我在这里有一个点代码 我通过点工具运行它 digraph G TestNode label Test Node shape egg style filled color yellow 结果是这样的
  • C 和 doxygen - 删除变量文档的重复项

    我正在使用 doxygen 记录我的 C 代码 为了更好的可读性 我将每个 c h 文件对 有时还有更多文件 的文档分组为defgroup and addtogroup see c 中的 doxygen 定义分组 https stackov
  • 从 Java 应用程序创建带有下标的 Graphviz 标签

    我正在使用 Java 应用程序调用 GraphvizGraphviz java https github com jabbalaci graphviz java apiAPI 并将输出图形保存到 PDF 文件 我需要用数学下标和重音符号来标
  • graphviz - 如何在矩形布局中以循环方式排列节点?

    预脚本 就在我完成这些示例时 我看到了 往返 流程主题 https stackoverflow com questions 18877045 graphviz how to create a roundtrip flow 看起来不错 既然我
  • 将 XML 文件添加到文件列表

    我想将 XML 文件的内容添加到 doxygen 生成的文档中 我将 XML 文件添加到INPUTdoxygen 配置文件的标记 但是 虽然 XML 文件列在文件列表中 但并未显示文件的内容 我需要做什么才能包含这些内容 Doxygen 没
  • 使用 Doxygen 记录命名空间

    我在 Doxygen 识别命名空间和模块时遇到问题 我认为问题在于是否将 addtogroup命名空间内或命名空间外 示例 1 在命名空间之外 addtogroup Records Generic record interfaces and
  • 如何排除私有标头出现在源浏览器中?

    我已经设定SOURCE BROWSER NO and VERBATIM HEADERS YES因为我希望客户端能够看到头文件 但是 我只想让他们看到某些标题 最好的方法是如何做到这一点 预先感谢您的任何帮助 EDIT 这似乎可行 但我对其他
  • graphviz 中跨越多行的记录

    我试图用点语言可视化一个相当复杂的结构 因为记录很大 所以我想把代码写成多行 所以而不是 A11 label A 11 Access Control A 11 1 Business requirements for access contr
  • 在 doxygen 中使用 SVG

    我正在尝试将 SVG 添加到我的 doxygen 文档中 第一次尝试是使用 image blabla svg 这有点工作 但是 SVG 包含另一个 png 参考 并且 内部 png 未显示 这在 Chrome 上有效 但即使在 Firefo
  • 设置预定义的节点样式?

    在过去的 15 分钟里 我一直在谷歌上搜索 试图找到这个问题的答案 但我似乎无法弄清楚 我的任务是为我在工作中开发的一些应用程序构建一些小流程图 他们不需要任何花哨的东西 因为他们将在 vizio 中将其转换为他们喜欢的格式 他们甚至说我们
  • 禁止对未记录的成员函数发出 doxygen 警告,但保留概要

    我正在寻找一种方法来抑制有关未记录成员函数的 doxygen 警告 但不使用 cond and endcond 因此成员函数仍然出现在类的概要中 像下面这样 class Foo public Foo Foo const Foo Foo op
  • 在 python 中使用 graphviz 从 DOT 文件绘制有向图

    这是API参考 http graphviz readthedocs io en latest api html for graphviz 我找不到任何从现有的生成有向图的方法dot源文件 方法如render and view保存在新文件中
  • 改变点的边缘方向

    我正在尝试用点画一个非常简单的图表 digraph untitled rankdir LR rank same S A B gt A B gt S A gt A S gt S A gt S S gt A A gt T S gt T 我得到的
  • 如何记录函数的全局依赖关系?

    我从第三方供应商 用于嵌入式平台 获得了一些使用全局变量 用于速度和空间优化 的 C 代码 我正在记录代码 转换为Doxygen格式 如何在函数文档中添加函数需要的全局变量和函数的注释 Doxygen有用于注释参数和返回值的特殊命令 如下所
  • 在 doxygen 中使用 @see 或 @link

    我之前用 Javadoc 记录并使用了标签 see link or see foo and link foo 在我的描述中链接到其他课程 现在我尝试了doxygen 似乎这些标签不兼容 如果我运行 doxygen 完整的标签将被简单地解释为
  • Doxygen:如何仅使用其文档块而不使用代码来记录非 C 函数?

    我希望 Doxygen 记录用类 C 语言 PARI GP 编写的代码 但语法略有不同 我相信 Doxygen 可以记录那些不存在的实体 当编程语言不支持 Doxygen 时 这似乎是完成这项工作的最简单方法 我想要这样的东西 fn foo
  • 创建pdf时在markdown中分页

    我正在使用 doxygen 1 8 6 创建 Markdown 文本文件的 pdf 现在我想在 Markdown 文件的特定阶段获得分页符 我使用了这个link http daringfireball net projects markdo
  • python 中的 doxygen 语法

    有人可以帮我弄清楚如何正确注释 python 代码以被 doxygen 解析吗 不知怎的 它忽略了标签 输出 HTML 显示标签 brief Creates a new Hello object This Hello Object is b

随机推荐