2017-06-20 30 views
0

我創建了圖g的過濾圖並希望將其用作新圖。據我所知,這些屬性也被複制,但我怎樣才能訪問它們?如果我使用「重量」,它將是g不屬於的屬性圖。圖形工具:如何訪問複製圖的屬性

weight = g.new_edge_property('float') 
vfilt = g.new_vertex_property('bool') 
... 
old_sub = gt.GraphView(g, vfilt) 
sub = gt.Graph(old_sub, directed=False, prune=True) 

如果屬性沒有複製到子,怎麼能做到這一點。由於新圖形的頂點數量不同,因此頂點的索引已更改。

非常感謝

回答

1

你必須複製之前,在屬性「內部」,以圖:

weight = g.new_edge_property('float') 
vfilt = g.new_vertex_property('bool') 
... 
old_sub = gt.GraphView(g, vfilt) 
old_sub.ep.weight = weight # old_sub.ep is a dictionary of internal properties 
sub = gt.Graph(old_sub, directed=False, prune=True) 
sub_weight = sub.ep.weight # copy of weight 
+0

作品!非常感謝 – Neli