24.2 Disposición circular

Se ubican los nodos en una configuración circular. A menudo se utiliza para gráficos pequeños o para mostrar propiedades cíclicas. Ideales para representar redes que son, o se piensa que son, de tipo clique, es decir, aquellas en que todo par de nodos son adyacentes. Por ejemplo: las topologías de redes de comunicaciones.

También se podría usar para subconjuntos de una red donde hay un camino hamiltoniano, denominados así los casos en que partiendo de un nodo se puede llegar al mismo de nodo en nodo sin pasar por ninguno más de una vez o, en general, las redes cerradas, aquellas en que los nodos se interconectan formando ciclos.

No se usa para otro tipo de redes porque, por ejemplo, es difícil detectar agrupamientos y contiene muchos enlaces largos.

import pandas as pd
import networkx as nx
import matplotlib.pyplot as plt
G = nx.Graph()
nodes = pd.read_csv('../Datos/InputFileNodes.csv')
edges = pd.read_csv('../Datos/InputFileEdges.csv')

#Collapse all edges of the same type between the same two nodes by summing their weights
# edges = edges.groupby(['from', 'to', 'type'])['weight'].sum().reset_index()
G.clear()
G = nx.from_pandas_edgelist(edges, source = 'Source', target = 'Target', edge_attr = True)
nx.draw(G, pos=nx.circular_layout(G), with_labels = True, font_size = 12, alpha = 0.5)
plt.show()