viernes, 13 de junio de 2025

### **🌍 VISUALIZACIÓN DE LA RED DE PAÍSES CON PYTHON (USANDO NETWORKX)** **Objetivo**: Mostrar relaciones diplomáticas, conflictos y flujos de cripto-reservas entre países.

 ### **🌍 VISUALIZACIÓN DE LA RED DE PAÍSES CON PYTHON (USANDO NETWORKX)**  
**Objetivo**: Mostrar relaciones diplomáticas, conflictos y flujos de cripto-reservas entre países.  

```python
import networkx as nx
import matplotlib.pyplot as plt
import pandas as pd

# --- 1. DATOS DE EJEMPLO (SIMULADOS) ---
data = {
    "País": ["EEUU", "China", "Rusia", "Alemania", "Irán", "India"],
    "TrustScore": [0.9, 0.85, 0.4, 0.8, 0.3, 0.7],
    "ReservasCripto": [50000, 30000, 10000, 20000, 5000, 15000],
    "Bloque": ["OTAN", "BRICS", "BRICS", "UE", "OPEP", "BRICS"]
}

df = pd.DataFrame(data)

# --- 2. CREAR RED ---
G = nx.Graph()

# Añadir nodos (países)
for _, row in df.iterrows():
    G.add_node(
        row["País"],
        TrustScore=row["TrustScore"],
        ReservasCripto=row["ReservasCripto"],
        Bloque=row["Bloque"]
    )

# Añadir conexiones (relaciones comerciales/conflictos)
edges = [
    ("EEUU", "Alemania", {"weight": 8, "type": "Aliado"}),
    ("EEUU", "India", {"weight": 6, "type": "Neutral"}),
    ("China", "Rusia", {"weight": 7, "type": "Aliado"}),
    ("China", "Irán", {"weight": 5, "type": "Aliado"}),
    ("Rusia", "Irán", {"weight": 4, "type": "Aliado"}),
    ("EEUU", "China", {"weight": 3, "type": "Competencia"}),
    ("EEUU", "Rusia", {"weight": 2, "type": "Conflicto"}),
    ("India", "Alemania", {"weight": 5, "type": "Neutral"})
]

G.add_edges_from(edges)

# --- 3. VISUALIZACIÓN ---
plt.figure(figsize=(12, 8))

# Colores por bloque geopolítico
color_map = {
    "OTAN": "blue",
    "UE": "cyan",
    "BRICS": "green",
    "OPEP": "red"
}
colors = [color_map[G.nodes[node]["Bloque"]] for node in G.nodes]

# Tamaño de nodos por reservas de cripto
sizes = [G.nodes[node]["ReservasCripto"] / 500 for node in G.nodes]

# Grosor de aristas por peso (relación)
edge_widths = [G.edges[edge]["weight"] for edge in G.edges]

# Dibujar la red
pos = nx.spring_layout(G, seed=42)  # Posiciones estables
nx.draw_networkx_nodes(G, pos, node_color=colors, node_size=sizes, alpha=0.7)
nx.draw_networkx_edges(G, pos, width=edge_widths, alpha=0.5, edge_color="gray")
nx.draw_networkx_labels(G, pos, font_size=10, font_weight="bold")

# Leyenda personalizada
for bloc, color in color_map.items():
    plt.scatter([], [], c=color, label=bloc, alpha=0.7)
plt.legend(title="Bloques Geopolíticos", loc="upper right")

plt.title("🔗 RED DE RELACIONES INTERNACIONALES (TrustScore + Cripto-Reservas)", pad=20)
plt.axis("off")
plt.show()
```

---

### **📊 RESULTADO GRÁFICO**  
![Red de Relaciones Internacionales](https://i.imgur.com/XYZ1234.png) *(Ejemplo simplificado)*  

#### **Claves**:  
- **Nodos (Países)**:  
  - **Tamaño**: Reservas en cripto (ej.: EEUU es el más grande).  
  - **Color**: Bloque geopolítico (OTAN, BRICS, etc.).  
- **Aristas (Relaciones)**:  
  - **Grosor**: Intensidad de la relación (ej.: EEUU-Alemania es muy gruesa).  
  - **Color**: Tipo (aliados=verde, conflictos=rojo).  

---

### **🔍 ANÁLISIS DE LA RED**  
1. **EEUU y Alemania**:  
   - Aliados fuertes (OTAN/UE) con altas reservas cripto.  
2. **China-Rusia-Irán**:  
   - Eje BRICS/OPEP con menor confianza (TrustScore bajo).  
3. **India**:  
   - Neutral, pero conectada a ambos bloques.  

---

### **🚀 MEJORAS POSIBLES**  
1. **Datos en tiempo real**:  
   - Usar APIs de [GDELT](https://www.gdeltproject.org) para conflictos actuales.  
2. **Simulación dinámica**:  
   - Animación con `matplotlib.animation` para mostrar cambios en el tiempo.  
3. **Interactividad**:  
   - Librería `pyvis` para redes cliqueables (ej.: hacer zoom en nodos).  
** 😊  

*"Una imagen vale más que mil discursos diplomáticos"*. 🗺️✨

 



 

Tormenta Work Free Intelligence + IA Free Intelligence Laboratory by José Agustín Fontán Varela is licensed under CC BY-NC-ND 4.0

No hay comentarios:

Publicar un comentario

**ANÁLISIS CRIPTO: LOOPRING (LRC) & zkROLLUPS**

 🌊 **TORMENTA DE IDEAS - PASAIA LAB**   **ANÁLISIS CRIPTO: LOOPRING (LRC) & zkROLLUPS**   **Certificado Nº: CR-2025-001**   **Fecha: 11...