Tesneem commited on
Commit
86c7528
·
verified ·
1 Parent(s): 2e617c9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -2
app.py CHANGED
@@ -75,19 +75,28 @@ def df_to_grouped(df_in: pd.DataFrame) -> pd.DataFrame:
75
  rows.append(out)
76
  return pd.DataFrame(rows, columns=["label"] + list(SKILL_GROUPS.keys()))
77
 
78
- def plot_radar(df: pd.DataFrame, grouped: bool, title: str):
79
  if df.empty:
80
  return go.Figure()
81
 
82
  traces = []
83
  labels = list(SKILL_GROUPS.keys()) if grouped else SKILLS
 
84
  for _, r in df.iterrows():
85
  values = [0.0 if pd.isna(r.get(k)) else float(r.get(k)) for k in labels]
 
 
86
  traces.append(go.Scatterpolar(
87
  r=values + [values[0]],
88
  theta=labels + [labels[0]],
89
  name=r["label"],
90
  fill="toself",
 
 
 
 
 
 
91
  ))
92
 
93
  fig = go.Figure(traces)
@@ -103,7 +112,6 @@ def plot_radar(df: pd.DataFrame, grouped: bool, title: str):
103
  margin=dict(l=30, r=30, t=60, b=30),
104
  )
105
  return fig
106
-
107
  # ------------------- Mongo -------------------
108
  def _get_secret(name: str) -> str | None:
109
  try:
 
75
  rows.append(out)
76
  return pd.DataFrame(rows, columns=["label"] + list(SKILL_GROUPS.keys()))
77
 
78
+ def plot_radar(df: pd.DataFrame, grouped: bool, title: str, avg_label: str = None):
79
  if df.empty:
80
  return go.Figure()
81
 
82
  traces = []
83
  labels = list(SKILL_GROUPS.keys()) if grouped else SKILLS
84
+
85
  for _, r in df.iterrows():
86
  values = [0.0 if pd.isna(r.get(k)) else float(r.get(k)) for k in labels]
87
+ is_avg = avg_label and (str(r["label"]) == avg_label)
88
+
89
  traces.append(go.Scatterpolar(
90
  r=values + [values[0]],
91
  theta=labels + [labels[0]],
92
  name=r["label"],
93
  fill="toself",
94
+ line=dict(
95
+ width=4 if is_avg else 2,
96
+ dash="dash" if is_avg else "solid",
97
+ color="red" if is_avg else None
98
+ ),
99
+ opacity=0.7 if is_avg else 0.5
100
  ))
101
 
102
  fig = go.Figure(traces)
 
112
  margin=dict(l=30, r=30, t=60, b=30),
113
  )
114
  return fig
 
115
  # ------------------- Mongo -------------------
116
  def _get_secret(name: str) -> str | None:
117
  try: