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



我创建了图形g的过滤图,并希望将其用作新图。据我所知,这些属性也被复制,但我如何访问它们?如果我使用"权重",它将是 g 而不是 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,怎么能做到这一点。由于新图形的顶点数不同,因此顶点的索引已更改。

多谢

在复制之前,您必须使图形的属性"内部":

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

最新更新