ÎncepețiÎncepe gratuit

Vizualizarea cu ajutorul graficelor matrice

A venit momentul să încerci prima metodă „avansată" de vizualizare a grafurilor: graficul matrice. Pentru aceasta, nxviz pune la dispoziție funcția matrix(). Această funcție, ca toate funcțiile API de nivel superior din nxviz, returnează un obiect de tip axes din matplotlib, care poate fi afișat cu plt.show().

nxviz este o bibliotecă pentru vizualizarea grafurilor într-un mod rațional. În culise, funcția matrix utilizează nx.to_numpy_array(G), care returnează forma matriceală a grafului. Fiecare nod corespunde unei coloane și unui rând, iar o muchie între două noduri este indicată prin valoarea 1. Cu toate acestea, prin această conversie se păstrează doar metadatele de tip weight; toate celelalte metadate se pierd – lucru pe care îl vei verifica folosind o instrucțiune assert.

Funcția corespunzătoare nx.from_numpy_array(A) permite crearea rapidă a unui graf dintr-un array NumPy. Tipul implicit de graf este Graph(); dacă dorești să îl faci un DiGraph(), trebuie să specifici acest lucru prin argumentul cheie create_using, de exemplu (nx.from_numpy_array(A, create_using=nx.DiGraph)).

O ultimă precizare: matplotlib.pyplot și networkx au fost deja importate ca plt, respectiv nx, iar graful T a fost preîncărcat. Pentru simplitate și viteză, am extras doar 100 de muchii din rețea.

Acest exercițiu face parte din cursul

Introducere în analiza rețelelor în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă matrix din nxviz.
  • Reprezintă graful T ca grafic matrice. Pentru aceasta:
    • Creează graficul matrice numit m folosind funcția nv.matrix() cu T transmis ca argument.
    • Afișează graficul cu plt.show().
  • Convertește graful în format matrice, apoi reconvertește-l în formă NetworkX din matrice, ca graf orientat. Acest pas a fost deja realizat pentru tine.
  • Verifică că metadatele category se pierd din fiecare nod. Și acest pas a fost realizat pentru tine, așa că apasă 'Trimite răspunsul' pentru a vedea rezultatele!

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Import nxviz
____

# Create the matrix plot: m
m = ____

# Display the plot
____

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

# Convert A back to the NetworkX form as a directed graph: T_conv
T_conv = nx.from_numpy_array(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()
Editează și rulează codul