NetworkX dla złożonych sieci

Jan 05 2023
NetworkX to biblioteka Pythona do tworzenia, manipulowania i badania struktury, dynamiki i funkcji złożonych sieci. Służy do analizowania i modelowania złożonych sieci, takich jak sieci społeczne, biologiczne i technologiczne.
Zdjęcie JK na Unsplash

NetworkX to biblioteka Pythona do tworzenia, manipulowania i badania struktury, dynamiki i funkcji złożonych sieci. Służy do analizowania i modelowania złożonych sieci, takich jak sieci społeczne, biologiczne i technologiczne. NetworkX zapewnia narzędzia do generowania sieci losowych i syntetycznych, a także do pomiaru właściwości strukturalnych sieci i analizy dynamiki złożonych systemów, które można przedstawić jako sieci. NetworkX jest używany w różnych dziedzinach, w tym w socjologii, fizyce, informatyce i biologii, do badania złożonych systemów i zrozumienia podstawowych wzorców i struktur rządzących ich zachowaniem.

instalowanie sieci X

pip install networkx

arcs=[(0,43), (0,56), (1,2), (1,6), (2,5), (2,14), (3,4), (3,17),(4,5), (4,16), (5,15), 
      (5,14), (6,7), (6,14), (7,8), (7,14), (8,9), (8,11), (10,11), (10,24), (11,12), 
      (11,24), (11,25), (12,13), (12,23), (13,14), (13,22), (14,21), (15,21), (15,18), 
      (16,17), (16,18), (17,19), (18,20), (19,20), (20,21), (20,35), (20,36), (21,33), 
      (22,26), (22,27), (23,25), (23,26), (24,25), (25,30), (26,31), (27,32), (27,33)]

import networkx as nx
g = nx.Graph()
g.add_edges_from(arcs)

  • Listy krawędzi: Jest to lista krotek, gdzie każda krotka reprezentuje krawędź grafu z dwoma węzłami końcowymi.
  • Listy sąsiedztwa: Jest to prosta reprezentacja wykresu jako lista list, gdzie każda lista wewnętrzna reprezentuje sąsiadów pojedynczego węzła.
  • Struktury danych oparte na słownikach: NetworkX może również obsługiwać wykresy reprezentowane jako słowniki, w których klucze są węzłami, a wartości są sąsiadami każdego węzła.
  • Listy węzłów: Jest to lista węzłów na grafie, bez informacji o krawędziach między nimi.
  • Macierze sąsiedztwa: Jest to macierz dwuwymiarowa, w której wiersze i kolumny reprezentują węzły, a komórki reprezentują obecność lub brak krawędzi między węzłami.

g.size()

import matplotlib.pyplot as plt
fig, ax = plt.subplots(figsize=(14,14))
nx.draw(g,with_labels = True, ax = ax, node_size=1500)

      
                

g.add_node(99)
g.add_edge(99,0)