Spaces:
Runtime error
Runtime error
File size: 1,378 Bytes
5341bb3 bc59169 5341bb3 bc59169 5341bb3 bc59169 5341bb3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
import csv
import networkx as nx
import matplotlib.pyplot as plt
def crear_grafo_desde_csv(archivo_csv):
# Crear un grafo vacío
G = nx.Graph()
with open(archivo_csv, mode='r', encoding='utf-8') as file:
reader = csv.reader(file)
for fila in reader:
# Añadir nodos para cada elemento de la fila
for item in fila:
G.add_node(item.strip())
# Añadir aristas entre los elementos de la fila
for i in range(len(fila)):
for j in range(i + 1, len(fila)):
G.add_edge(fila[i].strip(), fila[j].strip())
return G
def dibujar_y_guardar_grafo(G, output_file):
# Definir layout para el grafo
pos = nx.spring_layout(G, seed=42)
# Dibujar el grafo
plt.figure(figsize=(12, 8))
nx.draw(G, pos, with_labels=True, node_color='skyblue', edge_color='gray', node_size=3000, font_size=10, font_weight='bold')
# Guardar el grafo en un archivo
plt.savefig(output_file, format='png', dpi=300)
plt.close()
print(f"Grafo guardado en: {output_file}")
# Ejemplo de uso
archivo_csv = 'proyectos_empresas.csv' # Reemplaza con tu archivo CSV
output_file = 'grafo_relaciones.png'
# Crear el grafo a partir del CSV
G = crear_grafo_desde_csv(archivo_csv)
# Dibujar y guardar el grafo
dibujar_y_guardar_grafo(G, output_file)
|