2016-11-18 26 views
0

我与先前从networkx库导出在graphml格式一些图表工作重新映射节点。防止图形工具使用load_graph时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 

回答

1

在曲线图的工具,顶点总是从0开始索引,但如果graphml文件使用非规范索引,这可以通过该"_graphml_vertex_id"属性映射来获得:

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