如何解决根据标记颜色过滤Folium Map
我正在映射具有基于其他列值的名为“ marker_color”的行,指示“红色”,“黄色”和“绿色”的标记。如何在地图的一角添加过滤器选项,使我只能基于颜色显示一个,两个,全部或不显示任何标记?基本上,有三个可单击的单选选项来呈现三个彩色标记。
当前,我正在从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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。