2011-10-17 204 views
6

私は、さまざまな時間枠のグラフとしてアップロードし、それらの間の関係を把握しようとしているデータセットを持っています。networkxでどのようにノードを削除しますか?

エッジを持たないノードをすべて削除したいが、ノードを削除または削除するコマンドがわからない。どのようにこれを行うにはどのようなアイデア?

答えて

12
import networkx as nx 
import matplotlib.pyplot as plt 

G=nx.Graph() 
G.add_edges_from([('A','B'),('A','C'),('B','D'),('C','D')]) 
nx.draw(G) 
plt.show() 

enter image description here

G.remove_node('B') 
nx.draw(G) 
plt.show() 

enter image description here

複数のノードを削除するには、Graph.remove_nodes_from()方法もあります。

3

Documentationが対象です。

Graph.remove_node(n):ノードnを削除します。

Graph.remove_nodes_from(nodes):複数のノードを削除します。例えば

In : G=networkx.Graph() 

In : G.add_nodes_from([1,2,3]) 

In : G.nodes() 
Out: [1, 2, 3] 

In : G.remove_node(2) 

In : G.nodes() 
Out: [1, 3] 
関連する問題