NetworkX für komplexe Netzwerke

Jan 05 2023
NetworkX ist eine Python-Bibliothek für die Erstellung, Bearbeitung und Untersuchung der Struktur, Dynamik und Funktionen komplexer Netzwerke. Es wird zur Analyse und Modellierung komplexer Netzwerke wie sozialer, biologischer und technologischer Netzwerke verwendet.
Foto von JK auf Unsplash

NetworkX ist eine Python-Bibliothek für die Erstellung, Bearbeitung und Untersuchung der Struktur, Dynamik und Funktionen komplexer Netzwerke. Es wird zur Analyse und Modellierung komplexer Netzwerke wie sozialer, biologischer und technologischer Netzwerke verwendet. NetworkX bietet Werkzeuge zum Generieren zufälliger und synthetischer Netzwerke sowie zum Messen der strukturellen Eigenschaften von Netzwerken und zum Analysieren der Dynamik komplexer Systeme, die als Netzwerke dargestellt werden können. NetworkX wird in einer Vielzahl von Bereichen eingesetzt, darunter Soziologie, Physik, Informatik und Biologie, um komplexe Systeme zu untersuchen und die zugrunde liegenden Muster und Strukturen zu verstehen, die ihr Verhalten bestimmen.

NetzwerkX installieren

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)

  • Kantenlisten: Dies ist eine Liste von Tupeln, wobei jedes Tupel eine Kante im Diagramm mit seinen zwei Endpunktknoten darstellt.
  • Adjazenzlisten: Dies ist eine einfache Darstellung eines Diagramms als Liste von Listen, wobei jede innere Liste die Nachbarn eines einzelnen Knotens darstellt.
  • Wörterbuchbasierte Datenstrukturen: NetworkX kann auch mit Graphen umgehen, die als Wörterbücher dargestellt werden, wobei die Schlüssel die Knoten und die Werte die Nachbarn jedes Knotens sind.
  • Knotenlisten: Dies ist eine Liste von Knoten im Diagramm, ohne Informationen über die Kanten zwischen ihnen.
  • Adjazenzmatrizen: Dies ist eine zweidimensionale Matrix, bei der die Zeilen und Spalten Knoten darstellen und die Zellen das Vorhandensein oder Fehlen einer Kante zwischen den Knoten darstellen.

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)