Я подумал, что мог бы также добавить свой собственный ответ, потому что один из @GlobalTraveler предполагает рисование многих линий, которые, я думаю, немного грязные.
Похоже, что в фолиуме нет возможности сделать это, но вы можете вместо этого нарисовать несколько маркеров и покрасить их по отдельности
import numpy as np
from matplotlib import cm
import folium
# rgb tuple to hexadecimal conversion
def rgb2hex(rgb):
rgb = [hex(int(256*x)) for x in rgb)]
r, g, b = [str(x)[2:] for x in rgb]
return "#{}{}{}".format(r, g, b)
# Defines the color mapping from speeds to rgba
color_mapper = cm.ScalarMappable(cmap=cm.cividis)
rgb_values = color_mapper.to_rgba(speeds)[:3] # keep rgb and drop the "a" column
colors = [rgb2hex(rgb) for rgb in rgb_values]
my_map = folium.Map(location=[ave_lat, ave_long], zoom_start=14)
for point, color, speed in zip(points, colors, speeds):
folium.CircleMarker(location=point,
radius=1.25,
popup=str(speed),
fill_color=color).add_to(my_map)
my_map
Чтобы это работало, вам понадобится массив points
с 2 столбцами и массив speeds
с количеством строк points
.
Обратите внимание, что вы можете изменить cm.cividis
на все, что вам нужно (см. Ссылку здесь )