根据标记颜色过滤 Folium Map
Filter Folium Map based on marker color
我正在映射具有名为“marker_color”的行的标记,根据其他列值指示“红色”、“黄色”和“绿色”。如何向地图的一角添加过滤器选项,以便根据颜色仅显示一个、两个、全部或 none 个标记?基本上,三个可点击的单选选项来呈现三个彩色标记。
目前,我正在从我的 sales_colored 数据框中映射所有标记:
basemap2 = generateBaseMap()
for index, row in sales_colored.iterrows():
folium.Circle([row['Latitude'], row['Longitude']],
radius=200, color=row['marker_color'], fill_color=row['marker_color']).add_to(basemap2)
basemap2
如果要为每种颜色添加复选框,可以使用 folium.FeatureGroup()
。您首先需要收集 sales_colored["marker_color"]
列中的所有唯一值,然后为每种颜色创建一个 FeatureGroup(我使用名为 features
的字典来存储颜色)。您可以创建这样的代码:
features = {}
for row in pd.unique(sales_colored["marker_color"]):
features[row] = folium.FeatureGroup(name=row)
for index, row in sales_colored.iterrows():
circ = folium.Circle([row['Latitude'], row['Longitude']],
radius=200, color=row['marker_color'], fill_color=row['marker_color'])
circ.add_to(features[row['marker_color']])
for row in pd.unique(sales_colored["marker_color"]):
features[row].add_to(basemap2)
folium.LayerControl().add_to(basemap2)
basemap2
我正在映射具有名为“marker_color”的行的标记,根据其他列值指示“红色”、“黄色”和“绿色”。如何向地图的一角添加过滤器选项,以便根据颜色仅显示一个、两个、全部或 none 个标记?基本上,三个可点击的单选选项来呈现三个彩色标记。
目前,我正在从我的 sales_colored 数据框中映射所有标记:
basemap2 = generateBaseMap()
for index, row in sales_colored.iterrows():
folium.Circle([row['Latitude'], row['Longitude']],
radius=200, color=row['marker_color'], fill_color=row['marker_color']).add_to(basemap2)
basemap2
如果要为每种颜色添加复选框,可以使用 folium.FeatureGroup()
。您首先需要收集 sales_colored["marker_color"]
列中的所有唯一值,然后为每种颜色创建一个 FeatureGroup(我使用名为 features
的字典来存储颜色)。您可以创建这样的代码:
features = {}
for row in pd.unique(sales_colored["marker_color"]):
features[row] = folium.FeatureGroup(name=row)
for index, row in sales_colored.iterrows():
circ = folium.Circle([row['Latitude'], row['Longitude']],
radius=200, color=row['marker_color'], fill_color=row['marker_color'])
circ.add_to(features[row['marker_color']])
for row in pd.unique(sales_colored["marker_color"]):
features[row].add_to(basemap2)
folium.LayerControl().add_to(basemap2)
basemap2