### **馃實 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**
 *(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




