且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

选择具有属性的networkx图的节点和边

更新时间:2022-12-26 09:53:44

您可以使用G.nodes()方法通过具有列表理解的条件选择节点:

You may select nodes by conditions with list comprehension with G.nodes() method:

selected_nodes = [n for n,v in G.nodes(data=True) if v['since'] == 'December 2008']  
print (selected_nodes)

出局:[1, 2]

要选择边缘,请使用G.edges_iterG.edges方法:

To select edges use G.edges_iter or G.edges methods:

selected_edges = [(u,v) for u,v,e in G.edges(data=True) if e['since'] == 'December 2008']
print (selected_edges)

出局:[(1, 2)]

要绘制选定的节点,请调用G.subgraph()

To plot selected nodes call G.subgraph()

H = G.subgraph(selected_nodes)
nx.draw(H,with_labels=True,node_size=3000)

要绘制具有属性的选定边,您可以构建新图形:

To plot selected edges with attributes you may construct new graph:

H = nx.Graph(((u, v, e) for u,v,e in G.edges_iter(data=True) if e['since'] == 'December 2008'))
nx.draw(H,with_labels=True,node_size=3000)
plt.show()