de-Rodrigo commited on
Commit
1454811
1 Parent(s): 846673f

Fix Plot With Other Approach

Browse files
Files changed (1) hide show
  1. app.py +20 -7
app.py CHANGED
@@ -515,7 +515,7 @@ def add_synthetic_dataset_to_fig(fig, df, labels, marker, color_mapping, group_l
515
  renderers[label + f" ({group_label})"] = r
516
  return renderers
517
 
518
- def get_color_maps(unique_subsets):
519
  color_map = {}
520
  num_real = len(unique_subsets["real"])
521
  red_palette = Reds9[:num_real] if num_real <= 9 else (Reds9 * ((num_real // 9) + 1))[:num_real]
@@ -543,6 +543,7 @@ def get_color_maps(unique_subsets):
543
  num_pretrained = len(unique_subsets["pretrained"])
544
  purple_palette = Purples9[:num_pretrained] if num_pretrained <= 9 else (Purples9 * ((num_pretrained // 9) + 1))[:num_pretrained]
545
  color_map["pretrained"] = {label: purple_palette[i] for i, label in enumerate(sorted(unique_subsets["pretrained"]))}
 
546
 
547
  return color_map
548
 
@@ -1086,7 +1087,7 @@ def run_model(model_name):
1086
  unique_subsets["pretrained"] = []
1087
 
1088
  # Obtener mapeo de colores para cada subconjunto (funci贸n definida externamente)
1089
- color_maps = get_color_maps(unique_subsets)
1090
 
1091
  # Mapeo de marcadores para synthetic (por source)
1092
  marker_mapping = {
@@ -1114,8 +1115,20 @@ def run_model(model_name):
1114
 
1115
  # Plotear las muestras reales, agrupadas por label
1116
  # for label in unique_subsets["real"]:
1117
- for label_k, label in zip(result["classes_k"], unique_subsets["real"]):
1118
- subset = df_all["real"][df_all["real"]['label'] == label_k]
 
 
 
 
 
 
 
 
 
 
 
 
1119
  source = ColumnDataSource(data={
1120
  'x': subset['x'],
1121
  'y': subset['y'],
@@ -1123,9 +1136,9 @@ def run_model(model_name):
1123
  'img': subset['img']
1124
  })
1125
  fig_all.circle('x', 'y', size=10,
1126
- fill_color=color_maps["real"][label],
1127
- line_color=color_maps["real"][label],
1128
- legend_label=f"Real: {label_k}",
1129
  source=source)
1130
 
1131
  show_real_only = st.checkbox("Show only real samples", value=True, key=f"show_real_only_{model_name}")
 
515
  renderers[label + f" ({group_label})"] = r
516
  return renderers
517
 
518
+ def get_color_maps(unique_subsets, result):
519
  color_map = {}
520
  num_real = len(unique_subsets["real"])
521
  red_palette = Reds9[:num_real] if num_real <= 9 else (Reds9 * ((num_real // 9) + 1))[:num_real]
 
543
  num_pretrained = len(unique_subsets["pretrained"])
544
  purple_palette = Purples9[:num_pretrained] if num_pretrained <= 9 else (Purples9 * ((num_pretrained // 9) + 1))[:num_pretrained]
545
  color_map["pretrained"] = {label: purple_palette[i] for i, label in enumerate(sorted(unique_subsets["pretrained"]))}
546
+ color_map["kmeans"] = {k: Category10[10][i % 10] for i, k in enumerate(np.unique(result["classes_k"]))}
547
 
548
  return color_map
549
 
 
1087
  unique_subsets["pretrained"] = []
1088
 
1089
  # Obtener mapeo de colores para cada subconjunto (funci贸n definida externamente)
1090
+ color_maps = get_color_maps(unique_subsets, result)
1091
 
1092
  # Mapeo de marcadores para synthetic (por source)
1093
  marker_mapping = {
 
1115
 
1116
  # Plotear las muestras reales, agrupadas por label
1117
  # for label in unique_subsets["real"]:
1118
+ # subset = df_all["real"][df_all["real"]['label'] == label]
1119
+ # source = ColumnDataSource(data={
1120
+ # 'x': subset['x'],
1121
+ # 'y': subset['y'],
1122
+ # 'label': subset['label'],
1123
+ # 'img': subset['img']
1124
+ # })
1125
+ # fig_all.circle('x', 'y', size=10,
1126
+ # fill_color=color_maps["real"][label],
1127
+ # line_color=color_maps["real"][label],
1128
+ # legend_label=f"Real: {label}",
1129
+ # source=source)
1130
+ for label_k in np.unique(result["classes_k"]):
1131
+ subset = df_all["real"][result["classes_k"] == label_k]
1132
  source = ColumnDataSource(data={
1133
  'x': subset['x'],
1134
  'y': subset['y'],
 
1136
  'img': subset['img']
1137
  })
1138
  fig_all.circle('x', 'y', size=10,
1139
+ fill_color=color_maps["kmeans"][label_k],
1140
+ line_color=color_maps["kmeans"][label_k],
1141
+ legend_label=f"KMeans: {label_k}",
1142
  source=source)
1143
 
1144
  show_real_only = st.checkbox("Show only real samples", value=True, key=f"show_real_only_{model_name}")