2011-10-17 15 views
6

Mam zbiór danych, który przesyłam jako wykres dla różnych ram czasowych i próbuję określić relacje między nimi.Jak usunąć węzeł w siecix?

Chcę usunąć wszystkie węzły, które nie mają krawędzi, ale nie jestem pewien polecenia usuwania lub usuwania węzłów. Masz pomysł, jak to zrobić?

Odpowiedz

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

Aby usunąć wiele węzłów, jest również sposób Graph.remove_nodes_from().

3

Documentation obejmuje to.

Graph.remove_node (n): Usuń węzeł n.

Graph.remove_nodes_from (węzły): Usuń wiele węzłów.

Na przykład:

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]