JairoCesar commited on
Commit
42d447f
verified
1 Parent(s): 7fbce98

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -6
app.py CHANGED
@@ -221,30 +221,46 @@ def generate_detailed_analysis(query, match):
221
 
222
  # --- NUEVA FUNCI脫N PARA CREAR EL GR脕FICO ---
223
  def create_relevance_chart(results):
224
- """Crea un gr谩fico de barras de Altair para visualizar la relevancia de los resultados."""
225
  # Preparar los datos para el gr谩fico (tomamos los 5 mejores)
226
  top_results = results[:5]
 
 
 
 
 
 
 
 
227
  chart_data = {
228
- "Condici贸n": [res['entry']['condicion_asociada'] for res in top_results],
229
  "Relevancia": [res['score']['total'] for res in top_results]
230
  }
231
  source = pd.DataFrame(chart_data)
232
 
233
  # Crear el gr谩fico
234
- chart = alt.Chart(source).mark_bar().encode(
235
  x=alt.X('Relevancia:Q', title='Puntuaci贸n de Relevancia'),
236
- y=alt.Y('Condici贸n:N', sort='-x', title='Posible Condici贸n'),
237
- tooltip=['Condici贸n', 'Relevancia']
 
 
 
 
 
 
238
  ).properties(
239
  title='Principales Coincidencias seg煤n tu Caso'
240
  ).configure_axis(
241
  labelFontSize=12,
242
  titleFontSize=14
243
  ).configure_title(
244
- fontSize=16
 
245
  )
246
  return chart
247
 
 
248
  # --- INTERFAZ DE USUARIO (UI) ---
249
  col_img, col_text = st.columns([1, 4], gap="medium")
250
  with col_img:
 
221
 
222
  # --- NUEVA FUNCI脫N PARA CREAR EL GR脕FICO ---
223
  def create_relevance_chart(results):
224
+ """Crea un gr谩fico de barras de Altair legible para visualizar la relevancia."""
225
  # Preparar los datos para el gr谩fico (tomamos los 5 mejores)
226
  top_results = results[:5]
227
+
228
+ # Limpiamos los nombres para que no sean excesivamente largos en el gr谩fico
229
+ condition_names = []
230
+ for res in top_results:
231
+ # Quitamos par茅ntesis y acortamos si es necesario para el display
232
+ name = re.sub(r'\(.*\)', '', res['entry']['condicion_asociada']).strip()
233
+ condition_names.append(name)
234
+
235
  chart_data = {
236
+ "Condici贸n": condition_names,
237
  "Relevancia": [res['score']['total'] for res in top_results]
238
  }
239
  source = pd.DataFrame(chart_data)
240
 
241
  # Crear el gr谩fico
242
+ chart = alt.Chart(source).mark_bar(color='#1f77b4').encode(
243
  x=alt.X('Relevancia:Q', title='Puntuaci贸n de Relevancia'),
244
+ y=alt.Y('Condici贸n:N', sort='-x', title='Posible Condici贸n',
245
+ axis=alt.Axis(
246
+ labelLimit=300 # <-- 隆ESTA ES LA L脥NEA CLAVE! Aumenta el espacio para las etiquetas.
247
+ )),
248
+ tooltip=[
249
+ alt.Tooltip('Condici贸n:N', title='Condici贸n'),
250
+ alt.Tooltip('Relevancia:Q', title='Puntuaci贸n')
251
+ ]
252
  ).properties(
253
  title='Principales Coincidencias seg煤n tu Caso'
254
  ).configure_axis(
255
  labelFontSize=12,
256
  titleFontSize=14
257
  ).configure_title(
258
+ fontSize=16,
259
+ anchor='start' # Alinea el t铆tulo a la izquierda, se ve m谩s profesional
260
  )
261
  return chart
262
 
263
+
264
  # --- INTERFAZ DE USUARIO (UI) ---
265
  col_img, col_text = st.columns([1, 4], gap="medium")
266
  with col_img: