Kom igångKom igång gratis

Delgrafer I

Ibland kan du behöva analysera enbart en delmängd av noder i ett nätverk. Det gör du genom att kopiera ut dem till ett nytt grafobjekt med G.subgraph(nodes), som returnerar ett nytt graph-objekt (av samma typ som originalgrafen) bestående av den iterable av nodes som skickas in.

matplotlib.pyplot har importerats åt dig som plt.

Den här övningen är en del av kursen

Introduktion till nätverksanalys i Python

Visa kurs

Övningsinstruktioner

  • Skriv en funktion get_nodes_and_nbrs(G, nodes_of_interest) som extraherar delgrafen från grafen G bestående av nodes_of_interest och deras grannar.
    • I den första for-loopen itererar du över nodes_of_interest och lägger till den aktuella noden n i nodes_to_draw.
    • I den andra for-loopen itererar du över grannarna till n och lägger till samtliga grannar nbr i nodes_to_draw.
  • Använd funktionen för att extrahera delgrafen från T bestående av noderna 29, 38 och 42 (lagrade i den fördefinierade listan nodes_of_interest) och deras grannar. Spara resultatet som T_draw.
  • Rita delgrafen T_draw på skärmen.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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()
Redigera och kör kod