5

我正在使用 folium 制作纽约市公寓价格的热图。我正在尝试使用我自己的颜色渐变。当我在热图函数中指定梯度参数时,我的地图上没有显示任何内容。有谁知道如何在地图上生成我们自己的颜色渐变和理想的渐变条?非常感谢。

这是我的代码:前两列数据是位置。第三列是价格。

data =[[    40.7726,    -73.9568,   1900.    ],
       [    40.7785,    -73.9556,   3200.    ],
       [    40.7216,    -73.9809,   5800.    ],
       [    40.7384,    -73.9848,   2900.    ],
       [    40.7678,    -73.9915,   3312.    ],
       [    40.7659,    -73.9574,   2600.    ],
       [    40.7092,    -74.0137,   4299.    ],
       [    40.7384,    -73.982 ,   5750.    ],
       [    40.7312,    -73.9896,   3595.    ]]

from folium.plugins import HeatMap
hmap = folium.Map(location=[40.75, -73.97], tiles='stamentoner',control_scale = True, zoom_start=13)
hmap.add_child(HeatMap(data, radius = 10, gradient={1000: 'blue', 3000: 'lime', 5000: 'red'}))
hmap
4

2 回答 2

7

梯度不将幅度的值作为梯度的字典键。

改变

hmap.add_child(HeatMap(data, radius = 10, gradient={1000: 'blue', 3000: 'lime', 5000: 'red'}))

hmap.add_child(HeatMap(data, radius = 25, gradient={.4: 'blue', .65: 'lime', 1: 'red'}))

它会起作用。

于 2017-04-10T13:33:27.877 回答
1

从 folium 的 JS 模板代码来看,梯度的值应该在 0 到 1 之间。例如:

gradient={'0':'Navy', '0.25':'Blue','0.5':'Green', '0.75':'Yellow','1': 'Red'}

https://cdn.jsdelivr.net/gh/python-visualization/folium@master/folium/templates/leaflet_heat.min.js

于 2021-06-04T14:04:34.317 回答