如何使用 Graphviz 和 libcgraph 获取节点名称?
How to get the node name with Graphviz and libcgraph?
我正在尝试更新一些旧代码,这些代码曾经与 Graphviz 2.26 一起使用并迭代了图形的所有节点并使用它们的名称做了一些事情:
for (Agnode_t *n = agfstnode(graph); n; n = agnxtnode(graph, n)) {
... use n->name ...
}
然而,在 Graphviz 的最新(2.30+?)版本中,cgraph 库用于节点表示,它的 Agnode_t
结构中没有 name
字段。
我知道 agnode()
函数允许按名称查找节点,但似乎没有任何函数可用于其他方向。我是不是遗漏了什么或者真的没有办法使用 cgraph 访问现有节点的名称?
您可以使用函数 agnameof
,它列在 cgraph
联机帮助页的 "Generic Objects" 部分:
char *agnameof(void*);
我正在尝试更新一些旧代码,这些代码曾经与 Graphviz 2.26 一起使用并迭代了图形的所有节点并使用它们的名称做了一些事情:
for (Agnode_t *n = agfstnode(graph); n; n = agnxtnode(graph, n)) {
... use n->name ...
}
然而,在 Graphviz 的最新(2.30+?)版本中,cgraph 库用于节点表示,它的 Agnode_t
结构中没有 name
字段。
我知道 agnode()
函数允许按名称查找节点,但似乎没有任何函数可用于其他方向。我是不是遗漏了什么或者真的没有办法使用 cgraph 访问现有节点的名称?
您可以使用函数 agnameof
,它列在 cgraph
联机帮助页的 "Generic Objects" 部分:
char *agnameof(void*);