ÎncepețiÎncepe gratuit

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

Vezi cursul

Instrucțiuni pentru exercițiu

  • Scrie o funcție get_nodes_and_nbrs(G, nodes_of_interest) care extrage subgraful din graful G format din nodes_of_interest și vecinii acestora.
    • În primul ciclu for, iterează peste nodes_of_interest și adaugă nodul curent n la nodes_to_draw.
    • În al doilea ciclu for, iterează peste vecinii lui n și adaugă toți vecinii nbr la nodes_to_draw.
  • Folosește funcția pentru a extrage subgraful din T format din nodurile 29, 38 și 42 (conținute în lista predefinită nodes_of_interest) și vecinii lor. Salvează rezultatul ca T_draw.
  • Afișează subgraful T_draw pe 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()
Editează și rulează codul