MulaiMulai sekarang secara gratis

Visualisasi menggunakan plot Matriks

Saatnya mencoba metode visualisasi graf "mewah" pertama Anda: plot matriks. Untuk ini, nxviz menyediakan fungsi matrix(). Fungsi ini, seperti semua fungsi API tingkat atas milik nxviz, akan mengembalikan objek axes matplotlib yang dapat ditampilkan dengan plt.show().

nxviz adalah paket untuk memvisualisasikan graf secara rasional. Di balik layar, fungsi matrix memanfaatkan nx.to_numpy_matrix(G), yang mengembalikan bentuk matriks dari graf. Di sini, setiap node adalah satu kolom dan satu baris, dan sebuah edge antara dua node ditunjukkan oleh nilai 1. Namun, dengan cara ini, hanya metadata weight yang dipertahankan; semua metadata lainnya hilang, sebagaimana akan Anda verifikasi menggunakan pernyataan assert.

Fungsi terkait nx.from_numpy_matrix(A) memungkinkan Anda dengan cepat membuat graf dari matriks NumPy. Jenis graf bawaan adalah Graph(); jika Anda ingin membuatnya menjadi DiGraph(), hal itu harus ditentukan menggunakan argumen kata kunci create_using, misalnya (nx.from_numpy_matrix(A, create_using=nx.DiGraph)).

Catatan terakhir, matplotlib.pyplot dan networkx telah diimpor sebagai plt dan nx, masing-masing, dan graf T sudah dimuat sebelumnya. Demi kesederhanaan dan kecepatan, kami hanya mengambil sampel 100 edge dari jaringan.

Latihan ini adalah bagian dari kursus

Pengantar Analisis Jaringan di Python

Lihat Kursus

Petunjuk latihan

  • Impor matrix dari nxviz.
  • Plot graf T sebagai plot matriks. Caranya:
    • Buat plot matriks bernama m menggunakan fungsi nv.matrix() dengan T sebagai argumen.
    • Tampilkan plot menggunakan plt.show().
  • Konversi graf ke format matriks, lalu konversi kembali ke bentuk NetworkX dari matriks sebagai graf berarah. Ini telah dilakukan untuk Anda.
  • Periksa bahwa bidang metadata category hilang dari setiap node. Ini juga telah dilakukan untuk Anda, jadi tekan 'Kirim Jawaban' untuk melihat hasilnya!

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Import nxviz
____

# Create the matrix plot: m
m = ____

# Display the plot
____

# Convert T to a matrix format: A
A = nx.to_numpy_matrix(T)

# Convert A back to the NetworkX form as a directed graph: T_conv
T_conv = nx.from_numpy_matrix(A, create_using=nx.DiGraph())

# Check that the `category` metadata field is lost from each node
for n, d in T_conv.nodes(data=True):
    assert 'category' not in d.keys()
Edit dan Jalankan Kode