Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -5,6 +5,8 @@ import plotly.graph_objects as go
|
|
5 |
import gradio as gr
|
6 |
from gradio.components import Plot
|
7 |
|
|
|
|
|
8 |
cities_data = {
|
9 |
'Abancay': {
|
10 |
'desempleo_trimestral': [
|
@@ -1149,6 +1151,8 @@ cities_data = {
|
|
1149 |
}
|
1150 |
|
1151 |
|
|
|
|
|
1152 |
COLORES = {
|
1153 |
'Total': '#2C3E50',
|
1154 |
'Hombres': '#3498DB',
|
@@ -1378,12 +1382,6 @@ def actualizar_graficos(ciudad):
|
|
1378 |
), "Brecha Salarial de Género", "%", ".1f")
|
1379 |
]
|
1380 |
|
1381 |
-
def cargar_datos_iniciales():
|
1382 |
-
# Generar datos iniciales para ambas pestañas
|
1383 |
-
datos_ciudad = actualizar_graficos("Chimbote")
|
1384 |
-
datos_global = generar_analisis_global()
|
1385 |
-
return [*datos_ciudad, *datos_global]
|
1386 |
-
|
1387 |
with gr.Blocks(
|
1388 |
title="Análisis Mercado Laboral Peruano",
|
1389 |
css="""
|
@@ -1397,62 +1395,65 @@ with gr.Blocks(
|
|
1397 |
|
1398 |
gr.Markdown("# 📊 Dashboard del Mercado Laboral Peruano", elem_classes="header")
|
1399 |
|
1400 |
-
|
1401 |
-
|
1402 |
-
|
1403 |
-
|
1404 |
-
|
1405 |
-
|
1406 |
-
)
|
1407 |
|
1408 |
-
|
1409 |
-
|
1410 |
-
|
1411 |
-
|
1412 |
-
|
|
|
|
|
|
|
|
|
|
|
1413 |
|
1414 |
-
|
1415 |
-
|
1416 |
-
|
1417 |
-
|
1418 |
-
|
1419 |
-
|
1420 |
-
|
1421 |
-
actividad_plot = Plot(elem_classes="plot-container")
|
1422 |
|
1423 |
-
|
1424 |
-
|
1425 |
-
brecha_plot = Plot(elem_classes="plot-container")
|
1426 |
|
1427 |
-
|
1428 |
-
|
1429 |
-
|
1430 |
-
|
1431 |
-
|
1432 |
-
|
1433 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1434 |
|
1435 |
-
# Configurar eventos y carga inicial
|
1436 |
ciudad.change(
|
1437 |
fn=actualizar_graficos,
|
1438 |
inputs=ciudad,
|
1439 |
outputs=[radar_plot, desempleo_plot, ingresos_plot, informalidad_plot, actividad_plot, brecha_plot]
|
1440 |
)
|
1441 |
-
|
1442 |
-
@app.load()
|
1443 |
-
def inicializar_aplicacion():
|
1444 |
-
# Cargar datos para ambas pestañas
|
1445 |
-
datos = cargar_datos_iniciales()
|
1446 |
-
return {
|
1447 |
-
radar_plot: datos[0],
|
1448 |
-
desempleo_plot: datos[1],
|
1449 |
-
ingresos_plot: datos[2],
|
1450 |
-
informalidad_plot: datos[3],
|
1451 |
-
actividad_plot: datos[4],
|
1452 |
-
brecha_plot: datos[5],
|
1453 |
-
global_desempleo: datos[6],
|
1454 |
-
global_ingresos: datos[7],
|
1455 |
-
global_brecha: datos[8]
|
1456 |
-
}
|
1457 |
|
1458 |
-
app.launch(debug=True,
|
|
|
5 |
import gradio as gr
|
6 |
from gradio.components import Plot
|
7 |
|
8 |
+
#DATOS
|
9 |
+
|
10 |
cities_data = {
|
11 |
'Abancay': {
|
12 |
'desempleo_trimestral': [
|
|
|
1151 |
}
|
1152 |
|
1153 |
|
1154 |
+
#DATOS
|
1155 |
+
|
1156 |
COLORES = {
|
1157 |
'Total': '#2C3E50',
|
1158 |
'Hombres': '#3498DB',
|
|
|
1382 |
), "Brecha Salarial de Género", "%", ".1f")
|
1383 |
]
|
1384 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1385 |
with gr.Blocks(
|
1386 |
title="Análisis Mercado Laboral Peruano",
|
1387 |
css="""
|
|
|
1395 |
|
1396 |
gr.Markdown("# 📊 Dashboard del Mercado Laboral Peruano", elem_classes="header")
|
1397 |
|
1398 |
+
ciudad = gr.Dropdown(
|
1399 |
+
list(cities_data.keys()),
|
1400 |
+
label="Seleccionar Ciudad",
|
1401 |
+
value="Chimbote",
|
1402 |
+
interactive=True
|
1403 |
+
)
|
|
|
1404 |
|
1405 |
+
with gr.Tab("Análisis por Ciudad"):
|
1406 |
+
radar_plot = Plot()
|
1407 |
+
desempleo_plot = Plot()
|
1408 |
+
ingresos_plot = Plot()
|
1409 |
+
informalidad_plot = Plot()
|
1410 |
+
actividad_plot = Plot()
|
1411 |
+
brecha_plot = Plot()
|
1412 |
+
|
1413 |
+
gr.Markdown("## 📍 Indicadores Clave", elem_classes="subheader")
|
1414 |
+
radar_plot.render()
|
1415 |
|
1416 |
+
gr.Markdown("## 📈 Tendencias Principales", elem_classes="subheader")
|
1417 |
+
with gr.Row():
|
1418 |
+
desempleo_plot.render()
|
1419 |
+
ingresos_plot.render()
|
1420 |
+
with gr.Row():
|
1421 |
+
informalidad_plot.render()
|
1422 |
+
actividad_plot.render()
|
|
|
1423 |
|
1424 |
+
gr.Markdown("## 📉 Brecha Salarial", elem_classes="subheader")
|
1425 |
+
brecha_plot.render()
|
|
|
1426 |
|
1427 |
+
with gr.Tab("Análisis Comparativo"):
|
1428 |
+
global_desempleo = Plot()
|
1429 |
+
global_ingresos = Plot()
|
1430 |
+
global_brecha = Plot()
|
1431 |
+
|
1432 |
+
gr.Markdown("## 🏙️ Comparativa entre Ciudades", elem_classes="subheader")
|
1433 |
+
global_desempleo.render()
|
1434 |
+
global_ingresos.render()
|
1435 |
+
global_brecha.render()
|
1436 |
+
|
1437 |
+
@app.load()
|
1438 |
+
def cargar_inicial():
|
1439 |
+
datos_ciudad = actualizar_graficos("Chimbote")
|
1440 |
+
datos_global = generar_analisis_global()
|
1441 |
+
return {
|
1442 |
+
radar_plot: datos_ciudad[0],
|
1443 |
+
desempleo_plot: datos_ciudad[1],
|
1444 |
+
ingresos_plot: datos_ciudad[2],
|
1445 |
+
informalidad_plot: datos_ciudad[3],
|
1446 |
+
actividad_plot: datos_ciudad[4],
|
1447 |
+
brecha_plot: datos_ciudad[5],
|
1448 |
+
global_desempleo: datos_global[0],
|
1449 |
+
global_ingresos: datos_global[1],
|
1450 |
+
global_brecha: datos_global[2]
|
1451 |
+
}
|
1452 |
|
|
|
1453 |
ciudad.change(
|
1454 |
fn=actualizar_graficos,
|
1455 |
inputs=ciudad,
|
1456 |
outputs=[radar_plot, desempleo_plot, ingresos_plot, informalidad_plot, actividad_plot, brecha_plot]
|
1457 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1458 |
|
1459 |
+
app.launch(debug=True, share=False)
|