将 doxygen 的图表从上到下方向翻转为从左到右

2024-04-17

doxygen 图为“includes" and "包含在" 创建的嵌套深度从上到下递增(使用 1.8.5)。

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

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


最近有人问了一个类似的问题,我重复回答一下: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

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

将 doxygen 的图表从上到下方向翻转为从左到右 的相关文章

  • GraphViz - 子图的对齐

    I d like to draw a diagram like this But the only diagram I can draw is 我使用的代码 graph rankdir LR node shape box x1 x2 x3
  • 如何在android中使用相机检查图像是在纵向模式还是横向模式下捕获的?

    我正在创建一个打开照片库的应用程序 通过从图库中选择该照片 照片将显示在另一个活动中 我的问题是 我以纵向模式拍摄的照片在显示后会旋转 但我在横向模式下拍摄的照片将正确显示 这就是为什么 我必须使用 Android 中的相机检查图像是在纵向
  • 如何将 LaTeX 片段直接包含在 Doxygen 注释中?

    我希望能够使用一些合适的编辑器在外部编辑一些 Doxygen 注释的 LaTeX 部分 我只会在复杂的环境中使用它 为此 我想我可以拥有纯 LaTeX 文件并从 Doxygen 中包含它们 我确实为以下内容创建了 Doxygen 别名 be
  • 我的应用程序启动颠倒

    我已经开发了一段时间并发布了游戏的引擎现在正在颠倒地启动我当前的项目 并立即按预期的方式旋转 UIView 我用代码创建了界面 它的外观如下 BOOL application UIApplication application didFin
  • 生命周期困境与另一项活动的方向变化

    我在 tabhost 中有 2 项活动 在 Activity1 中 我处理方向变化以及用户在 Activity 之间切换时的情况 当用户从 Activity1 切换到 Activity2 通过选项卡选择 执行方向更改 然后切换回 Activ
  • 如何使用Android传感器计算旋转角度?

    我正在做一个 Opengl 应用程序 如果 Android 设备沿 Z 轴旋转 倾斜 我必须旋转相机 我尝试过SensorManager getOrientation R orientVals 使用磁性和加速度传感器 但数值波动很大 我的设
  • Graphviz安装Ubuntu 14.04

    我正在尝试使用创建一个点文件京东项目 http javaddlib sourceforge net jdd 它需要安装 Graphviz 我尝试使用控制台安装它 sudo apt get install graphviz 在这种情况下 虽然
  • Windows 窗体旋转

    当您在 Net 中创建表单时 它会显示为纵向布局的对话框 通常没有人喜欢横向或颠倒地阅读 但我有一个非常充分的理由旋转表格 有人知道如何在 Windows Vista 上用 C 实现这一点吗 必须在 WinForms 中吗 在 WPF 中
  • 在android中添加横向方向和代码的最简单方法

    我是新来的android并想知道如何添加landscape模式在android谁能告诉我最简单的方法 我正在寻找一种非常简单的方法 如果您有此类问题 请查看下面的答案 谢谢 I have a simplest way to add a la
  • bash 中的视频方向检测

    我需要检测视频是以纵向还是横向模式录制的 然后以脚本方式将其转换为正确的方向 if v orient landscape then ffmpeg i file mp4 vf transpose 1 file ogv else ffmpeg
  • graphviz 中跨越多行的记录

    我试图用点语言可视化一个相当复杂的结构 因为记录很大 所以我想把代码写成多行 所以而不是 A11 label A 11 Access Control A 11 1 Business requirements for access contr
  • graphviz.backend.ExecutableNotFound:无法执行 ['dot', '-Tpng'],请确保 Graphviz 可执行文件位于系统的 PATH 上

    我花了一个小时找不到这个问题的任何解决方案 所以决定最好在这里提问 唯一给出的丰富信息here https stackoverflow com questions 35064304 runtimeerror make sure the gr
  • // doxygen 中的注释

    我有一个 C 项目 需要使用 doxygen 进行记录 它拾取由 Visual Studio 自动生成的评论 但不幸的是它没有正常显示 评论 是否有我缺少的配置设置 或者这是不可能的 被称为XML 文档注释 http msdn micros
  • 如何以编程方式检查 iOS 上的方向是否已锁定 - Swift

    有没有办法在旋转发生之前以编程方式检查 iPod 方向锁定是否已启用 例如 如果用户要单击按钮 我们是否可以检查方向锁定是否打开 以提醒他们在单击操作发生之前必须关闭方向锁定 目前还没有办法检测方向是否被锁定 您可以只添加应用程序中应支持的
  • 如何使用 CSS/Javascript 防止 iOS 上 HTML 上的自动旋转图像

    我正在创建一个照片网站 我上传了一张自己的照片 但实际上方向不正确 图像逆时针旋转 90 度 我从我的 iPhone 上传了这张图片 显然 iPhone 是故意以这种方式存储的 在我的网站上 HTML 页面呈现了一个 JSON 对象 其中包
  • 未找到 GraphViz 的可执行文件:Anaconda-3

    我正在尝试显示树输出 但是当我运行下面的脚本时 我收到如下错误 IncationException 未找到 GraphViz 的可执行文件 我在这里搜索过类似的主题 但其中大多数与 Mac 相关 我使用的是 Windows 10 64 位操
  • 如何通过消除蛇行和更好的边缘交叉来影响 Graphviz/dot 来制作更好的控制流图?

    我正在为 Python 程序绘制控制流图 并希望影响哪种边缘不 应交叉 有没有办法做到这一点 考虑这个简单的 Python 程序 try a 1 except a 2 else a 3 以及一个点程序来表示通过生成的控制流https git
  • Doxygen 和 Objective-C 类别

    尽管 Doxygen 的最新版本声称可以更好地处理 Objective C 类别 http www doxygen nl manual changelog html 它似乎仍然对我的源代码中的类别感到窒息 我想知道是否有人已经让它正确地记录
  • 在 doxygen 中使用 SVG

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

    我已经设置好了PlantUML插件PhpStorm 我已经下载了图形可视化 2 36并安装在我的机器上 我已经搜索过如何设置Graphviz为了使用PlantUML做一个UseCase in PhpStorm 但我找不到任何信息 我不太清楚

随机推荐

  • 来自 WEBVTT 的 RDF/JSON Javascript 解析器

    晚上好 开门见山 我需要一个脚本来从 WEBVTT 文件中的特定时间间隔获取 RDF JSON 结构 这样的事情存在吗 RDF JSON 是 Talis 指定的文件结构 如下所示 S P O WEBVTT 实现上述结构如下 0 00 00
  • 将有状态 LSTM 称为功能模型?

    我有一个状态 LSTM 定义为顺序模型 model Sequential model add LSTM stateful True 后来 我将其用作功能模型 input 1 input 2 Input Input output 1 mode
  • 使用 ruby​​-install/ruby-build 在 Archlinux 上安装 Ruby 2.1.x 和 2.3.x 时出现 OpenSSL 错误

    我在 Archlinux 上使用 ruby install 构建旧版本的 Ruby 时遇到了一些问题 我怀疑 ruby build 也会发生同样的情况 尝试安装 Ruby 2 1 5 2 1 6 2 3 0 2 3 1 2 3 4 后 我看
  • ArgumentError:写入密钥必须初始化 Rails

    您好 我是 Rails 新手 我使用 nitrous io 作为我的 IDE 我刚刚使用 Rails 生成了一个模型generate model Micropost content text user references 当我跑步时bun
  • 如何删除 DataGrid 中焦点上的轮廓

    我试图删除当您关注 Material UI 的 DataGrid 组件中的单元格时出现的轮廓 这些方法都不起作用 const useStyles makeStyles theme gt Method 1 global MuiDataGrid
  • Java 中的字符串到 Clob?

    我在java中有一个字符串 但数据库中的数据类型是Clob 如何从 String 中获取 Clob clob setString position string 将 String 写入 Clob 对象 http download oracl
  • H2O 是否或将会提供任何与 h2o word2vec 一起使用的预训练向量?

    H2O 最近在其 API 中添加了 word2vec 能够在您自己提供的语料库上轻松训练自己的词向量真是太好了 然而 使用大数据和大型计算机存在更大的可能性 由于网络带宽和计算能力的限制 谷歌或 H2O ai 等软件供应商可能无法访问这种类
  • 如何使用数组在 FilterExpression 中使用“IN”语句 - dynamodb

    检查了AWS文档 但没有找到任何有效的示例 这是我的尝试 var params TableName User IndexName a b index KeyConditionExpression Country country and s
  • Chrome DevTool Timeline View中的渲染和绘画事件有什么区别

    我觉得render and paint只是两者都意味着渲染页面 显示 DOM 有什么区别 渲染事件是关于计算与每个 DOM 节点关联的样式 即 样式重新计算 和页面上的元素位置 布局 绘制类别是关于实际绘制像素的 包括 绘制 本身和 解码图
  • GET_SIGNATURES 已弃用

    我试图在我的 Android 应用程序中将内容分享到 Facebook 我需要一个密钥哈希 但我无法查看HashKey on my logcat因为GET SIGNATURES已弃用 有什么方法可以查看我的哈希键吗 这是代码 public
  • 并发可变优先级队列

    是否存在并发可变优先级队列 理想情况下 我正在寻找 C 实现 但是对于初学者来说 指向算法的指针会非常有帮助 需要明确的是 我正在寻找一个优先级队列 可以在其中调整元素的优先级 特别是TBBconcurrent priority queue
  • dplyr:将计数出现次数放入新变量中[重复]

    这个问题在这里已经有答案了 想要了解 dplyr 代码 但无法弄清楚这一点 已经看到这里描述的许多变量的类似问题 用 dplyr 总结一个因子的计数 https stackoverflow com questions 25811756 su
  • 在 Windows 系统上移动文件的最快方法 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想要将大约 800GB 的数据从 NTFS 存储设备移动到 FAT32 设备 两者都是外部硬盘驱动器 在 Windows 系统上 实现这
  • 自定义元素 Web 组件 Shadow DOM 供应商脚本/元素

    当与自定义元素 https html spec whatwg org multipage custom elements html custom elements那个杠杆影子 DOM https dom spec whatwg org sh
  • 输入不是数字时输出错误。 C++

    我正在创建一个函数 它从用户的输入中获取一个数字并找到它的绝对值 如果用户输入数字以外的任何内容 我想让它返回错误 我该怎么做呢 我知道这对很多人来说可能是一个简单的问题 但我正在上第一堂 C 编程课 所以我知之甚少 任何帮助将不胜感激 如
  • 处理 TextBox 中的 ENTER 按钮,ASP.NET

    我在 ASP NET 中遇到以下问题 有一个表单 其中包含一个文本框和旁边的一个按钮 用户在填写该框后应该按下该按钮 示例http www burnthespam info http www burnthespam info 单击 选择您的
  • Objective-C 属性是公开只读的,但有一个私有 setter

    我想使用 property语法来声明一个公开只读的合成属性 但有一个可以从类内私有调用的 setter 由于它是 Objective C 这基本上意味着setFoo 方法将被合成 但在类本身之外调用它会导致警告 无法识别的选择器 要触发警告
  • 如何使用 pub/sub 机器人对消息作出反应

    我创建了一个带有按钮和 onClick 操作的卡片 该卡片成功向我的客户发送了类型为 CARD CLICKED 的消息 当我尝试使用 NEW MESSAGE 或 UPDATE MESSAGE 类型的消息响应此消息时 该消息将显示为新消息 而
  • “/packages 不能表示为 URI”

    我正在开发一个使用 maven POM xml 文件来构建的 Scala 项目 添加导入 org scalatest FunSuite 或 Matchers 的测试文件后构建失败 并显示错误消息 packages 无法表示为 URI 插件
  • 将 doxygen 的图表从上到下方向翻转为从左到右

    doxygen 图为 includes and 包含在 创建的嵌套深度从上到下递增 使用 1 8 5 由于我们的图大多是带有许多节点的浅图 这会导致非常宽的图和丑陋的水平滚动条 有没有办法教 doxygen 以从左到右的方向创建这些图 就像