NetworkX para redes complejas

Jan 05 2023
NetworkX es una biblioteca de Python para la creación, manipulación y estudio de la estructura, la dinámica y las funciones de redes complejas. Se utiliza para analizar y modelar redes complejas, como redes sociales, biológicas y tecnológicas.
Foto de JK en Unsplash

NetworkX es una biblioteca de Python para la creación, manipulación y estudio de la estructura, la dinámica y las funciones de redes complejas. Se utiliza para analizar y modelar redes complejas, como redes sociales, biológicas y tecnológicas. NetworkX proporciona herramientas para generar redes aleatorias y sintéticas, así como para medir las propiedades estructurales de las redes y analizar la dinámica de sistemas complejos que pueden representarse como redes. NetworkX se utiliza en una variedad de campos, que incluyen sociología, física, informática y biología, para estudiar sistemas complejos y comprender los patrones y estructuras subyacentes que gobiernan su comportamiento.

instalando redX

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)

  • Listas de aristas: esta es una lista de tuplas, donde cada tupla representa una arista en el gráfico con sus dos nodos de punto final.
  • Listas de adyacencia: esta es una representación simple de un gráfico como una lista de listas, donde cada lista interna representa los vecinos de un solo nodo.
  • Estructuras de datos basadas en diccionarios: NetworkX también puede manejar gráficos representados como diccionarios, donde las claves son los nodos y los valores son los vecinos de cada nodo.
  • Listas de nodos: esta es una lista de nodos en el gráfico, sin información sobre los bordes entre ellos.
  • Matrices de adyacencia: esta es una matriz bidimensional donde las filas y columnas representan nodos, y las celdas representan la presencia o ausencia de un borde entre los nodos.

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)