如何在Folium Heat Map中添加图例/渐变?

时间:2017-11-07 17:14:33

标签: python gradient legend heatmap folium

我正在使用Folium创建一个热图。我的数据包含3列,一列是category,lat和long。纬线点数分为3类,如A,B和C. 我可以使用folium绘制热图,但是我需要添加图例来显示点之间的颜色差异。我需要根据类别将点标记为3种不同的颜色。

我附上了示例代码供您参考。感谢您的帮助。

提前致谢!

public func solution(_ A : inout [Int]) -> Int {
    return (A.count+1)*(A.count+2)/2-A.reduce(0,+)
}

2 个答案:

答案 0 :(得分:0)

您必须使用色彩映射值

创建字典
steps = 20
color_map=cm.linear.PuBu.scale(0,1).to_step(steps)

gradient_map=defaultdict(dict)
for i in range(steps):
    gradient_map[1/steps*i] = color_map.rgb_hex_str(1/steps*i)

然后将其用作HeatMap的渐变。

HeatMap(heat_data, gradient = gradient_map)

答案 1 :(得分:0)

下面是解决方案,它基于@Alexei Novikov的回答 下面的代码更完整

# original list
a = ['a','a','z','d','j','w','w']

# list of frequency
list_count = [a.count(x) for x in a]

# print the frequency list
print('Frequency list: %s' % list_count)

# iterate over the frequency list and get the indices of the values greater than 1
for index, value in enumerate(list_count):
    if value > 1:
        print('Duplicate value found at index: %s which is %s' % (index, a[index]))