Networkx 将图形转换为保留边缘数据的树
Networkx convert graph to tree preserving edge data
我有一个包含边数据(字典)的无向图 G。我可以用 G.edges.data()
.
查看它的数据
我可以使用 networkx.dfs_tree(G)
将我的图形转换为树,问题是边缘数据丢失了。
是否可以在保留数据的情况下进行此转换?
刚刚发现自己。
创建一个保留数据(重复边)的无向图。然后获取其边缘数据属性创建字典。将其与 nx.set_edge_attributes
一起使用。根据 networkx 文档忽略不存在的边缘。
import networkx as nx
Gd = nx.DiGraph(G)
data = { (u, v) : d for u, v, d in Gd.edges.data() } # create a dict of { edge : data ...}
Gdt = nx.dfs_tree(Gd) # create tree
nx.set_edge_attributes(Gdt, data) # set all tree edge data at once
我有一个包含边数据(字典)的无向图 G。我可以用 G.edges.data()
.
我可以使用 networkx.dfs_tree(G)
将我的图形转换为树,问题是边缘数据丢失了。
是否可以在保留数据的情况下进行此转换?
刚刚发现自己。
创建一个保留数据(重复边)的无向图。然后获取其边缘数据属性创建字典。将其与 nx.set_edge_attributes
一起使用。根据 networkx 文档忽略不存在的边缘。
import networkx as nx
Gd = nx.DiGraph(G)
data = { (u, v) : d for u, v, d in Gd.edges.data() } # create a dict of { edge : data ...}
Gdt = nx.dfs_tree(Gd) # create tree
nx.set_edge_attributes(Gdt, data) # set all tree edge data at once