From 7fdd8b47a56b15d5d1992a39a81f9d051e3e2a6e Mon Sep 17 00:00:00 2001 From: root Date: Fri, 1 May 2026 21:21:32 +0000 Subject: [PATCH] fix(gui): percentili Calibrazione in riga compatta, no truncation I valori percentili (es. -0.0298, 0.05323) renderizzati come ``st.metric`` su 7 colonne venivano tagliati su viewport stretti: ogni metric ha label sopra, font fisso, nessun shrink. Sostituito con render markdown inline a font 0.85rem, single-line, scrollabile orizzontalmente se serve. Tutti e 7 i percentili visibili senza troncamento e senza wrap. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../gui/pages/6_๐Ÿ“_Calibrazione.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/cerbero_bite/gui/pages/6_๐Ÿ“_Calibrazione.py b/src/cerbero_bite/gui/pages/6_๐Ÿ“_Calibrazione.py index 1af37f5..ea97136 100644 --- a/src/cerbero_bite/gui/pages/6_๐Ÿ“_Calibrazione.py +++ b/src/cerbero_bite/gui/pages/6_๐Ÿ“_Calibrazione.py @@ -167,9 +167,21 @@ def _percentiles_strip(s: pd.Series) -> None: st.caption("(nessun dato)") return quantiles = [0.05, 0.10, 0.25, 0.50, 0.75, 0.90, 0.95] - cols = st.columns(len(quantiles)) - for col, q in zip(cols, quantiles, strict=False): - col.metric(f"P{int(q * 100)}", f"{s.quantile(q):.4g}") + # Inline markdown compatto: i valori a 4 cifre significative + # cadono regolarmente fuori dalla colonna se renderizzati con + # ``st.metric`` (font fisso, label sopra, no shrink). Render + # orizzontale con font ridotto evita il troncamento. + parts = [ + f"P{int(q * 100)} {s.quantile(q):.4g}" + for q in quantiles + ] + html = ( + "
" + + "  ยท  ".join(parts) + + "
" + ) + st.markdown(html, unsafe_allow_html=True) def _render_metric(spec: MetricSpec, records: list[MarketSnapshotRecord]) -> None: