2

嗨,我使用 folium 创建了一个简单的热图,并想调整热图的渐变/颜色。我尝试使用下面显示的代码来使用 folium 中的渐变功能

import folium
from folium import plugins
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import os

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.    ]]

m = folium.Map([40.7726,    -73.9568], 
               control_scale = True, zoom_start=11)

plugins.HeatMap(data, radius = 20, min_opacity = 0.1, max_val = 50,gradient={.6: 'blue', .98: 'lime', 1: 'red'}).add_to(m)

然而,效果并不是我预期的那样。在热图上绘制时,我会得到如下所示的图像

在此处输入图像描述

例如,获得红色的范围可能需要 20 个集群,但我想将其更改为可能 10 个集群才能变为红色。Folium可以做到这一点吗?

此外,我还想根据权重绘制热图。例如,我可以有两个点,一个是 1900,另一个是 5800,我希望 5800 发红光,而 1900 的权重是黄色。

4

1 回答 1

1

您对特征梯度的使用

plugins.HeatMap(data, radius = 20, min_opacity = 0.1, max_val = 50,gradient={.6: 'blue', .98: 'lime', 1: 'red'}).add_to(m)

是正确的,但是 Folium 所依赖的 Leaflet 中存在错误:

https://github.com/python-visualization/folium/issues/496

于 2018-04-26T13:18:54.043 回答