图形工具:如何访问复制图形的属性

时间:2017-06-20 07:33:19

标签: python python-2.7 graph graph-tool

我创建了图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,那怎么办呢。由于新图形具有相同数量的顶点,因此顶点的索引已更改。

非常感谢

1 个答案:

答案 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