Subgrafuri I
Uneori vei dori să analizezi doar un subset de noduri dintr-o rețea. Pentru aceasta, le poți extrage într-un nou obiect graf folosind G.subgraph(nodes), care returnează un nou obiect graph (de același tip cu graful original) alcătuit din iterabilul de nodes transmis ca argument.
matplotlib.pyplot a fost importat pentru tine ca plt.
Acest exercițiu face parte din cursul
Introducere în analiza rețelelor în Python
Instrucțiuni pentru exercițiu
- Scrie o funcție
get_nodes_and_nbrs(G, nodes_of_interest)care extrage subgraful din grafulGformat dinnodes_of_interestși vecinii acestora.- În primul ciclu
for, iterează pestenodes_of_interestși adaugă nodul curentnlanodes_to_draw. - În al doilea ciclu
for, iterează peste vecinii luinși adaugă toți veciniinbrlanodes_to_draw.
- În primul ciclu
- Folosește funcția pentru a extrage subgraful din
Tformat din nodurile 29, 38 și 42 (conținute în lista predefinitănodes_of_interest) și vecinii lor. Salvează rezultatul caT_draw. - Afișează subgraful
T_drawpe ecran.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
nodes_of_interest = [29, 38, 42]
# Define get_nodes_and_nbrs()
def get_nodes_and_nbrs(G, nodes_of_interest):
"""
Returns a subgraph of the graph `G` with only the `nodes_of_interest` and their neighbors.
"""
nodes_to_draw = []
# Iterate over the nodes of interest
for n in ____:
# Append the nodes of interest to nodes_to_draw
____
# Iterate over all the neighbors of node n
for nbr in ____:
# Append the neighbors of n to nodes_to_draw
____
return G.subgraph(nodes_to_draw)
# Extract the subgraph with the nodes of interest: T_draw
T_draw = ____
# Draw the subgraph to the screen
____
plt.show()