2016-11-18 52 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])