C2MV commited on
Commit
e84c450
verified
1 Parent(s): bcd8526

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +33 -0
app.py CHANGED
@@ -9,6 +9,27 @@ import docx
9
  from docx.shared import Inches, Pt
10
  from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
11
  import os
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
 
13
  def ajustar_decimales_evento(df, decimales):
14
  df = df.copy()
@@ -47,6 +68,13 @@ def generar_graficos(df_valid, n_replicas, unidad_medida,
47
  color_linea_ideal, estilo_linea_ideal,
48
  color_barras_error,
49
  mostrar_linea_ajuste, mostrar_linea_ideal, mostrar_puntos):
 
 
 
 
 
 
 
50
  col_predicha_num = "Concentraci贸n Predicha Num茅rica"
51
  col_real_promedio = f"Concentraci贸n Real Promedio ({unidad_medida})"
52
  col_desviacion = f"Desviaci贸n Est谩ndar ({unidad_medida})"
@@ -500,6 +528,10 @@ def calcular_regresion_tabla_principal(df, unidad_medida, filas_seleccionadas_re
500
  if df is None or df.empty:
501
  return "Datos insuficientes", None, None, None
502
 
 
 
 
 
503
  col_concentracion = "Concentraci贸n Predicha Num茅rica"
504
  col_real_promedio = f"Concentraci贸n Real Promedio ({unidad_medida})"
505
  col_desviacion = f"Desviaci贸n Est谩ndar ({unidad_medida})"
@@ -638,6 +670,7 @@ def iniciar_con_ejemplo():
638
  3
639
  )
640
 
 
641
  with gr.Blocks(theme=gr.themes.Soft()) as interfaz:
642
  gr.Markdown("""
643
  # 馃搳 Sistema Avanzado de Calibraci贸n con An谩lisis Estad铆stico
 
9
  from docx.shared import Inches, Pt
10
  from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
11
  import os
12
+ from matplotlib.colors import to_hex
13
+
14
+
15
+ def safe_color(c):
16
+ if isinstance(c, str):
17
+ c = c.strip()
18
+ if c.lower().startswith('rgba('):
19
+ # Extraer valores num茅ricos del string rgba
20
+ vals = c.strip('rgba()').split(',')
21
+ vals = [v.strip() for v in vals]
22
+ if len(vals) == 4:
23
+ r, g, b, a = [float(x) for x in vals]
24
+ # Los valores en rgba(...) parecen ser mayores a 1, interpretamos que est谩n en escala 0-255.
25
+ # Convertimos a rango [0,1]:
26
+ r /= 255.0
27
+ g /= 255.0
28
+ b /= 255.0
29
+ # Convertimos a hex
30
+ c = to_hex((r, g, b, a))
31
+ return c
32
+
33
 
34
  def ajustar_decimales_evento(df, decimales):
35
  df = df.copy()
 
68
  color_linea_ideal, estilo_linea_ideal,
69
  color_barras_error,
70
  mostrar_linea_ajuste, mostrar_linea_ideal, mostrar_puntos):
71
+
72
+ # Convertir colores a formato v谩lido para matplotlib
73
+ color_puntos = safe_color(color_puntos)
74
+ color_linea_ajuste = safe_color(color_linea_ajuste)
75
+ color_linea_ideal = safe_color(color_linea_ideal)
76
+ color_barras_error = safe_color(color_barras_error)
77
+
78
  col_predicha_num = "Concentraci贸n Predicha Num茅rica"
79
  col_real_promedio = f"Concentraci贸n Real Promedio ({unidad_medida})"
80
  col_desviacion = f"Desviaci贸n Est谩ndar ({unidad_medida})"
 
528
  if df is None or df.empty:
529
  return "Datos insuficientes", None, None, None
530
 
531
+ # Convertir colores a formato seguro
532
+ color_puntos = safe_color(color_puntos)
533
+ color_linea_ajuste = safe_color(color_linea_ajuste)
534
+
535
  col_concentracion = "Concentraci贸n Predicha Num茅rica"
536
  col_real_promedio = f"Concentraci贸n Real Promedio ({unidad_medida})"
537
  col_desviacion = f"Desviaci贸n Est谩ndar ({unidad_medida})"
 
670
  3
671
  )
672
 
673
+
674
  with gr.Blocks(theme=gr.themes.Soft()) as interfaz:
675
  gr.Markdown("""
676
  # 馃搳 Sistema Avanzado de Calibraci贸n con An谩lisis Estad铆stico