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

2024-09-24 22:27:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个图g的过滤图,并希望将其用作新的图。但我又怎么知道这些属性是被复制的?如果我使用“weight”,它将是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,a如何做到这一点。因为新的图没有相同数量的顶点,所以顶点的索引发生了变化。在

非常感谢


Tags: gtnew属性propertyfloatoldgraphbool
1条回答
网友
1楼 · 发布于 2024-09-24 22:27:17

在复制之前,必须将属性设置为图形的“内部”:

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

相关问题 更多 >