Spaces:
Sleeping
Sleeping
melihorhanyilmaz commited on
Commit ·
58c3ee5
1
Parent(s): 50bab12
Add site-picker dropdown as robust fallback for click selection
Browse files- 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(
|
| 95 |
-
|
|
|
|
|
|
|
|
|
|
| 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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 187 |
if sel is None or len(sel) == 0:
|
| 188 |
-
detail_md = mo.md(
|
|
|
|
|
|
|
|
|
|
| 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]
|