2017-11-07 2 views
0

Ich erstelle eine Heatmap mit Folium.Meine Daten enthält 3 Spalten ist eine Kategorie, lat und lang. Die lat-long-Punkte sind in 3 Kategorien wie A, B und C kategorisiert. Ich kann die Heat Map mit Folium plotten, aber ich muss die Legende hinzufügen, die den Farbunterschied zwischen den Punkten zeigt. Ich muss Punkte markieren in 3 verschiedenen Farben basierend auf der Kategorie.Wie fügt man Legende/Gradient in Folium Heat Map hinzu?

Ich füge den Beispielcode an, der für Ihre Referenz. Jede Hilfe wird geschätzt.

Vielen Dank im Voraus!

from folium import plugins 
from folium.plugins import HeatMap 
from folium.plugins import MarkerCluster 
import pandas as pd 

map = folium.Map(location=[lat, long],zoom_start =12) 
data = pd.read_csv(filename) 
# List comprehension to make out list of lists 
heat_data = [[row['LAT'],row['LONG'],] for index, row in data.iterrows()] 
# Plot it on the map 
HeatMap(heat_data).add_to(map) 
# Display the map 
map 
map.save('C:\Temp\map2.html') 

Antwort

0

Sie haben ein Wörterbuch erstellen mit colormap

Werte
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) 

und es dann als der Gradient für die HeatMap verwenden.

HeatMap(heat_data, gradient = gradient_map)