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
Petunjuk latihan
- Tulis fungsi
get_nodes_and_nbrs(G, nodes_of_interest)yang mengekstrak subgraf dari grafGyang terdiri darinodes_of_interestdan para tetangganya.- Pada
forloop pertama, iterasikannodes_of_interestdan tambahkan simpul saat ininkenodes_to_draw. - Pada
forloop kedua, iterasikan para tetangga darin, dan tambahkan semua tetangganbrkenodes_to_draw.
- Pada
- Gunakan fungsi tersebut untuk mengekstrak subgraf dari
Tyang terdiri dari simpul 29, 38, dan 42 (terdapat dalam daftar pradefinisinodes_of_interest) beserta tetangganya. Simpan hasilnya sebagaiT_draw. - Gambar subgraf
T_drawke 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()