2011-10-17 45 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]