melihorhanyilmaz commited on
Commit
58c3ee5
·
1 Parent(s): 50bab12

Add site-picker dropdown as robust fallback for click selection

Browse files
Files changed (1) hide show
  1. notebook.py +21 -5
notebook.py CHANGED
@@ -90,9 +90,17 @@ def _(df, mo):
90
  show_value=True,
91
  )
92
  show_trend = mo.ui.checkbox(value=True, label="Show trend line (Visual 2)")
 
 
 
 
 
93
 
94
- mo.hstack([region_filter, dominance_range, show_trend], justify="start", gap=2)
95
- return dominance_range, region_filter, show_trend
 
 
 
96
 
97
 
98
  @app.cell
@@ -181,11 +189,19 @@ def _(pd):
181
 
182
 
183
  @app.cell
184
- def _(alt, chart1, mo, pd):
185
  # --- Linked species breakdown for the selected site(s) ---
186
- sel = chart1.value # pandas DataFrame of currently selected rows
 
 
 
 
 
187
  if sel is None or len(sel) == 0:
188
- detail_md = mo.md("*Click a point in the scatter above to see the site's species composition.*")
 
 
 
189
  detail = detail_md
190
  else:
191
  site = sel.iloc[0]
 
90
  show_value=True,
91
  )
92
  show_trend = mo.ui.checkbox(value=True, label="Show trend line (Visual 2)")
93
+ site_picker = mo.ui.dropdown(
94
+ options=["(click a point in Visual 1)"] + df.site_id.tolist(),
95
+ value="(click a point in Visual 1)",
96
+ label="Selected site",
97
+ )
98
 
99
+ mo.hstack(
100
+ [region_filter, dominance_range, show_trend, site_picker],
101
+ justify="start", gap=2,
102
+ )
103
+ return dominance_range, region_filter, show_trend, site_picker
104
 
105
 
106
  @app.cell
 
189
 
190
 
191
  @app.cell
192
+ def _(alt, chart1, df, mo, pd, site_picker):
193
  # --- Linked species breakdown for the selected site(s) ---
194
+ # Prefer the dropdown picker; fall back to the scatter click selection.
195
+ picked = site_picker.value
196
+ if picked and picked != "(click a point in Visual 1)":
197
+ sel = df[df.site_id == picked]
198
+ else:
199
+ sel = chart1.value # pandas DataFrame of currently selected rows
200
  if sel is None or len(sel) == 0:
201
+ detail_md = mo.md(
202
+ "*Click a point in the scatter above **or** pick one from the "
203
+ "\"Selected site\" dropdown at the top to see the site's species composition.*"
204
+ )
205
  detail = detail_md
206
  else:
207
  site = sel.iloc[0]