您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

根据节点的属性NetworkX将图划分为太阳图

根据节点的属性NetworkX将图划分为太阳图

采用Graph.subgraph(nodes)

演示版

import networkx as nx

G = nx.Graph()

G.add_nodes_from([1, 2, 3], color="red")
G.add_nodes_from([4, 5, 6])
G.nodes  # NodeView((1, 2, 3, 4, 5, 6))

# create generator
nodes = (
    node
    for node, data
    in G.nodes(data=True)
    if data.get("color") == "red"
)
subgraph = G.subgraph(nodes)
subgraph.nodes  # NodeView((1, 2, 3))

遍历(Graph.iter_nodes())并根据您的条件过滤节点。将该列表传递给Graph.subgraph(),它将返回这些节点及其内部边缘的副本。

例如:

G = nx.Graph()
# ... build or do whatever to the graph
nodes = (n for n, d in G.nodes_iter(data=True)) if d.get('color') == 'red')
subgraph = G.subgraph(nodes)
dotnet 2022/1/1 18:30:37 有410人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶