我创建了图g的过滤图,并希望将其用作新图。据我所知,属性也被复制,但我怎样才能访问它们?如果我使用“重量”,它将是g not sub的属性图。
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)
如果没有将属性复制到sub,那怎么办呢。由于新图形具有相同数量的顶点,因此顶点的索引已更改。
非常感谢
答案 0 :(得分: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