如何使用 Graphviz 获取节点和边数

Posted

技术标签:

【中文标题】如何使用 Graphviz 获取节点和边数【英文标题】:How to get node and edge count with Graphviz 【发布时间】:2017-11-26 22:17:18 【问题描述】:

我使用 gprof、gprof2dot.py 和 Graphviz 得到了我的图表。但是我想访问那里有多少节点和边的信息。

我在启用分析的情况下编译了代码,因此在运行可执行文件 gmon.out 后创建了。然后 gprof ./xmltest ./gmon.out > result.txt result.txt 包含生成的平面轮廓和调用图信息。

之后使用这个命令 gprof ./xmltest | ./gprof2dot.py | dot -Tpng -o result.png 创建可视化图表。但是,我需要节点和边的数量,但我无法访问该信息。

【问题讨论】:

请提供有关您已经做过的事情以及为什么它不适合您的信息。请参阅“如何提问”页面以获得澄清此问题的帮助。 【参考方案1】:

使用 gprof ./executable | ./gprof2dot.py > foo.dot 之后

gc foo.dot 命令返回节点数和边数。

【讨论】:

【参考方案2】:

您可以使用 graphviz gc 工具从 .dot 文件中获取信息。 例如,假设您有一个图形文件 sample.dot

您可以输入以下内容:

gc -n -e sample.dot

这将返回 sample.dot 中的图形有多少节点和边。 关于如何编写 gc 命令的完整参考可以找到 her

【讨论】:

以上是关于如何使用 Graphviz 获取节点和边数的主要内容,如果未能解决你的问题,请参考以下文章

如何从graphviz的布局中获取坐标?

图形渲染软件,尊重节点和边的相对顺序

减少networkx中图的节点/边数

如何垂直而不是水平地制作点(graphviz)布局未连接的节点?

使用 pydot 在 Graphviz 中垂直放置节点

如何在graphviz的点中控制级别节点顺序?