Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -269,14 +269,25 @@ def evaluate(texto: str):
|
|
269 |
# --- Gráfica de barras (0-4) ---
|
270 |
labels = [f"{k.split('.')[-1]}" for k, _ in per_indicator_values] # "1".."5"
|
271 |
values = [v for _, v in per_indicator_values]
|
272 |
-
fig, ax = plt.subplots(figsize=(8,
|
273 |
ax.bar(labels, values)
|
274 |
ax.set_ylim(0, 4)
|
275 |
ax.set_xlabel("Indicadores 4.4.5.x")
|
276 |
ax.set_ylabel("Score (0–4)")
|
277 |
-
|
|
|
|
|
|
|
|
|
|
|
278 |
for i, v in enumerate(values):
|
279 |
-
ax.text(i, v + 0.
|
|
|
|
|
|
|
|
|
|
|
|
|
280 |
|
281 |
# --- Tabla para la UI ---
|
282 |
table = {
|
@@ -353,7 +364,8 @@ with gr.Blocks(title="ICB4 4.4.5 Leadership — Evaluación STAR (FRAQX)", css=C
|
|
353 |
# -------- Columna derecha (salida) --------
|
354 |
with gr.Column(scale=7):
|
355 |
gr.Markdown("<div class='card'><b>Resultados</b></div>")
|
356 |
-
status = gr.
|
|
|
357 |
|
358 |
# Cabecera con badge de score (se llena dinámicamente con Markdown)
|
359 |
score_badge = gr.Markdown(value="<span class='badge'>Score global: —</span>")
|
@@ -385,7 +397,8 @@ with gr.Blocks(title="ICB4 4.4.5 Leadership — Evaluación STAR (FRAQX)", css=C
|
|
385 |
badge_html = f"<span class='badge'>Score global: {m.group(1)}</span>"
|
386 |
except Exception:
|
387 |
pass
|
388 |
-
|
|
|
389 |
|
390 |
btn.click(
|
391 |
fn=run_eval,
|
|
|
269 |
# --- Gráfica de barras (0-4) ---
|
270 |
labels = [f"{k.split('.')[-1]}" for k, _ in per_indicator_values] # "1".."5"
|
271 |
values = [v for _, v in per_indicator_values]
|
272 |
+
fig, ax = plt.subplots(figsize=(8.2, 4.0))
|
273 |
ax.bar(labels, values)
|
274 |
ax.set_ylim(0, 4)
|
275 |
ax.set_xlabel("Indicadores 4.4.5.x")
|
276 |
ax.set_ylabel("Score (0–4)")
|
277 |
+
|
278 |
+
# Título como suptitle (fuera del eje) + margen superior para que no se empalme
|
279 |
+
fig.suptitle(f"ICB4 4.4.5 Leadership — Score global: {overall}", y=0.97)
|
280 |
+
fig.subplots_adjust(top=0.86) # más espacio arriba
|
281 |
+
|
282 |
+
# Etiquetas de valor sobre cada barra
|
283 |
for i, v in enumerate(values):
|
284 |
+
ax.text(i, v + 0.08, f"{v}", ha="center", va="bottom")
|
285 |
+
|
286 |
+
# Compacta espacios sin recortar el título
|
287 |
+
fig.tight_layout()
|
288 |
+
|
289 |
+
|
290 |
+
|
291 |
|
292 |
# --- Tabla para la UI ---
|
293 |
table = {
|
|
|
364 |
# -------- Columna derecha (salida) --------
|
365 |
with gr.Column(scale=7):
|
366 |
gr.Markdown("<div class='card'><b>Resultados</b></div>")
|
367 |
+
status = gr.Markdown(value="**Estado**: —", elem_id="status_md")
|
368 |
+
|
369 |
|
370 |
# Cabecera con badge de score (se llena dinámicamente con Markdown)
|
371 |
score_badge = gr.Markdown(value="<span class='badge'>Score global: —</span>")
|
|
|
397 |
badge_html = f"<span class='badge'>Score global: {m.group(1)}</span>"
|
398 |
except Exception:
|
399 |
pass
|
400 |
+
status_md = f"**Estado** \n{msg.replace(chr(10), ' \n')}" # saltos de línea en MD
|
401 |
+
return status_md, badge_html, fig, gr.update(value=tbl.get("data", []), headers=tbl.get("columns", []))
|
402 |
|
403 |
btn.click(
|
404 |
fn=run_eval,
|