MulaiMulai sekarang secara gratis

Subgraf I

Ada kalanya Anda hanya ingin menganalisis sebagian simpul dalam suatu jaringan. Untuk melakukannya, Anda dapat menyalinnya ke objek graf lain menggunakan G.subgraph(nodes), yang mengembalikan objek graph baru (dengan tipe yang sama seperti graf asli) yang terdiri dari iterable nodes yang diberikan.

Latihan ini adalah bagian dari kursus

Pengantar Analisis Jaringan di Python

Lihat Kursus

Petunjuk latihan

  • Tulis fungsi get_nodes_and_nbrs(G, nodes_of_interest) yang mengekstrak subgraf dari graf G yang terdiri dari nodes_of_interest dan para tetangganya.
    • Pada for loop pertama, iterasikan nodes_of_interest dan tambahkan simpul saat ini n ke nodes_to_draw.
    • Pada for loop kedua, iterasikan para tetangga dari n, dan tambahkan semua tetangga nbr ke nodes_to_draw.
  • Gunakan fungsi tersebut untuk mengekstrak subgraf dari T yang terdiri dari simpul 29, 38, dan 42 (terdapat dalam daftar pradefinisi nodes_of_interest) beserta tetangganya. Simpan hasilnya sebagai T_draw.
  • Gambar subgraf T_draw ke layar.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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()
Edit dan Jalankan Kode