【问题标题】:Prevent graph-tool to remap nodes when using load_graph with graphml format使用带有 graphml 格式的 load_graph 时防止图形工具重新映射节点
【发布时间】:2016-11-18 02:28:35
【问题描述】:

我正在处理一些以前从 networkx 库中以 graphml 格式导出的图表。

当我将这些文件导入图形工具时,以下将节点重新映射到 0 基索引。我怎样才能防止这种情况?因为我真的需要保持秩序。

例子:

# Create a graph using networkx with only one edge (10 <-> 20)
import networkx as nx
g = nx.Graph()
g.add_edge(10, 20)
nx.write_graphml(g, 'teste.graphml')

# load the previous graph using graph-tool
import graph_tool.all as gt
g = gt.load_graph('teste.graphml')
print(list(g.edges()) # output is an edge from 0 to 1

【问题讨论】:

    标签: python networkx graph-tool


    【解决方案1】:

    在 graph-tool 中,顶点总是从零开始索引,但如果 graphml 文件使用非规范索引,这可以通过"_graphml_vertex_id" 属性映射获得:

    g = gt.load_graph('teste.graphml')
    v = g.vertex(0)
    print(g.vp._graphml_vertex_id[v])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-08
      • 2014-06-08
      • 2012-02-28
      • 2016-11-11
      • 1970-01-01
      相关资源
      最近更新 更多