我正在尝试向我的大叶草热图图层添加权重,但是我不知道如何正确实现这一点。
我有一个包含3列的数据框:LAT,LON和VALUE。价值是该位置的总销售额。
self.map = folium.Map([mlat, mlon], tiles=tiles, zoom_start=8)
locs = zip(self.data.LAT, self.data.LON, self.data.VALUE)
HeatMap(locs, radius=30, blur=10).add_to(self.map)
我尝试使用绝对销售值,并且还尝试标准化sales / sales.sum()。两者都给我相似的结果。
问题是:
热图显示具有更多商店的区域的红色等级更强。即使这些商店的总销售额比远距孤立的大型商店的销售额要小得多。
预期行为:
我希望热图的强度应使用每个商店的销售额,因为销售已通过zip对象传递给HeatMap插件。
假设我有两个区域:A和B。
在区域A中,我有3家商店:10 + 15 + 10 = 35总销售额。
在B区,我有1家大商店:销售总额为100
我期望B区域的强度大于A区域。我注意到,只有当差异非常大时才会发生类似的行为(如果我尝试35 vs 5000000,那么B区域将变得更加重要)。
我的CSV文件只是一个随机样本,如下所示:
LAT,LON,VALUE,DATE,DIFFLAT1,DIFFLON1
-22.4056,-53.6193,14,2010,0.0242,0.4505
-22.0516,-53.7025,12,2010,0.3137,0.6636
-22.3239,-52.9108,100,2010,0.0514,0.0002
-22.6891,-53.7424,6,2010,0.0002,0.7887
-21.8762,-53.6866,16,2010,0.7283,0.6180
-22.1861,-53.5353,11,2010,0.1420,0.2924
答案 0 :(得分:0)
from folium import plugins
from folium.plugins import HeatMap
heat_df = df.loc[:,["lat","lon","weight"]]
map_hooray = folium.Map(location=[45.517999 ,-73.568184 ], zoom_start=12 )
heat_data = heat_df.values.tolist()
HeatMap(heat_data,radius=13).add_to(map_hooray)
map_hooray.save('heat_map.html')