繁体   English   中英

在图形工具中,vertices() 和 vertex_properties 的顺序是否相同?

[英]In graph-tool, is ordering of vertices() and vertex_properties the same?

我使用图形工具库创建了一个图形,并使用 vertex_properties 向节点添加了字符串标签。 但是,当我阅读图表时,从顶点获取标签成为一个问题,因为我还想要顶点的入度和出度。 代码如下:

g = gt.load_graph('saved_graph.graphml')
v_labels = g.vp["my_labels"]

for v in g.vertices():
   print(v)
   print(v.in_degree())

在上面的代码中,v 被打印为从 0 到 N 的整数,其中 N 是总顶点数。 基本上我要问的是:如果统计信息,例如我正在打印的 in_degree,我从循环中的 v 得到的将对应于标记的节点 v_labels[v]。 这是我们应该如何获取每个节点的字符串 label 并将它们与统计信息相关联的方式吗?

我是图形工具的新手,所以我很感激任何指示或解释。 我未能在图形工具文档或示例以及其他任何地方找到正确的解释。

作为后续问题,如果顶点属性和索引是对齐的,如果我要删除其中一些顶点,那么这个排序会发生什么?

好久没有人回答了,所以我想自己回答一下,让对结果好奇的人都可以开导。

基本上答案是肯定的。 图形工具如何索引节点是基于此排序的,因此那些想要获取特定节点的节点属性并从索引中获取它们的人。

删除原来是一个挑战。 当一些节点被删除时,索引需要重新做,否则,它们会改变,节点开始指向不正确的属性。 如何做到这一点可以从以下帖子中找到: graph_tool: re-index vertex ids to be continuous integers

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM