C2MV commited on
Commit
246a909
·
verified ·
1 Parent(s): 7eb64b7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +55 -54
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
- with gr.Row():
1401
- ciudad = gr.Dropdown(
1402
- list(cities_data.keys()),
1403
- label="Seleccionar Ciudad",
1404
- value="Chimbote",
1405
- interactive=True
1406
- )
1407
 
1408
- # Componentes para la pestaña de Ciudad
1409
- with gr.Tab("Análisis por Ciudad") as tab_ciudad:
1410
- with gr.Column(elem_classes="card"):
1411
- gr.Markdown("## 📍 Indicadores Clave", elem_classes="subheader")
1412
- radar_plot = Plot(elem_classes="plot-container")
 
 
 
 
 
1413
 
1414
- with gr.Column(elem_classes="card"):
1415
- gr.Markdown("## 📈 Tendencias Principales", elem_classes="subheader")
1416
- with gr.Row():
1417
- desempleo_plot = Plot(elem_classes="plot-container")
1418
- ingresos_plot = Plot(elem_classes="plot-container")
1419
- with gr.Row():
1420
- informalidad_plot = Plot(elem_classes="plot-container")
1421
- actividad_plot = Plot(elem_classes="plot-container")
1422
 
1423
- with gr.Column(elem_classes="card"):
1424
- gr.Markdown("## 📉 Brecha Salarial", elem_classes="subheader")
1425
- brecha_plot = Plot(elem_classes="plot-container")
1426
 
1427
- # Componentes para la pestaña Comparativa
1428
- with gr.Tab("Análisis Comparativo") as tab_comparativo:
1429
- with gr.Column(elem_classes="card"):
1430
- gr.Markdown("## 🏙️ Comparativa entre Ciudades", elem_classes="subheader")
1431
- global_desempleo = Plot(elem_classes="plot-container")
1432
- global_ingresos = Plot(elem_classes="plot-container")
1433
- global_brecha = Plot(elem_classes="plot-container")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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, show_error=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)