首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Folium多地图叠加

Folium多地图叠加
EN

Stack Overflow用户
提问于 2019-07-17 03:19:47
回答 1查看 9K关注 0票数 2

我是folium的新手,所以这可能有点麻烦,但我目前正在尝试绘制不同数据点的几个热图,并添加在同一个图上在所有热图之间切换的功能。举个例子,我有这样的例子:

代码语言:javascript
复制
# The base map
 hmap = folium.Map(location=[38.908111, -77.008871], tiles="Stamen Terrain", zoom_start=12)

# And each layer

# Homicide 
HeatMap(list(zip(crime_homicide.LATITUDE.values, crime_homicide.LONGITUDE.values))).add_to(folium.FeatureGroup(name='Homicides').add_to(hmap))

# Robbery

HeatMap(list(zip(crime_robbery.LATITUDE.values, crime_robbery.LONGITUDE.values))).add_to(folium.FeatureGroup(name='Robbery').add_to(hmap))

# Assault

HeatMap(list(zip(crime_assault.LATITUDE.values, crime_assault.LONGITUDE.values))).add_to(folium.FeatureGroup(name='Assault').add_to(hmap))

folium.LayerControl(collapsed=False).add_to(hmap)

folium.GeoJson(dc_shape).add_to(hmap)

我试着使用了folium的FeatureGroup功能,但它看起来只是特定的标记,而不是整个地图。如果它们都是热图,有没有办法在不同的图之间切换?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-17 12:08:14

你的代码看起来没问题。试试这个- hmap.add_child

或者您也可以尝试heatmapwithtime,指定不同的指标,您可以实时调整这些指标以查看不同的热图。

但是,FeatureGroup()似乎不适用于HeatMapWithTime,直接将层添加到热图会导致侧面出现多个时间滑块,而所有添加的层应该只有一个(公共)时间滑块。

因此,如果你想拥有一个单独的控件,你必须把你所有的数据放在一个单独的geojson中并使用它。

为什么要添加功能组?如果您希望能够选择要显示的HeatMapWithTime实例,您可以添加这两个实例,并将它们添加到地图中,并且它们应该都出现在图层控制中。

m = Map() HeatMapWithTime(data1).add_to(m) HeatMapWithTime(data2).add_to(m)

仅供参考,功能组用于对项目进行分组并将它们一起显示。项目本身不会直接添加到地图中。例如:

fg = FeatureGroup().add_to(m) fg.add_child(Item1) fg.add_child(Item2)

这也是链接,可能会对您有所帮助:) https://python-visualization.github.io/folium/plugins.html

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57064104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档