如何为 folium 地图添加下拉菜单?

How do add drop down menu for the folium map?

例如,给定包含每个特定区域温度的不同月份列,我如何使用下拉菜单更改基于每个月的热图?我已经使用 geodataframe.explore(column = 'col_name').

构建了一张地图

谢谢!

如果您在 jupyterlab 中工作,这非常简单!您可以组合一个 ipywidgets.Output widget with a ipywidgets.Dropdown 来设置您的 canvas,然后使用输出捕获 folium 映射。然后,您需要通过添加事件处理程序来 link 它们。

import geopandas as gpd
import ipywidgets
from IPython.display import HTML, display

df = gpd.read_file(gpd.datasets.get_path("naturalearth_lowres"))

out = ipywidgets.Output(layout={'border': '1px solid black'})

w = ipywidgets.Dropdown(
    options=df.columns.values.tolist(),
    value=df.columns.values[0],
    description='Column:',
    disabled=False,
)

def on_dropdown_change(change):
    out.clear_output()
    with out:
        display(df.explore(w.value, cmap="Blues"))

w.observe(on_dropdown_change, names='value')
display(w)

with out:
    display(df.explore(df.columns[0], cmap="Blues"))

out