Crear un mapa de Folium con relleno de color discreto.
Me gustaría llenar un mapa de Folium con valores de color discretos. Pero cada forma se devuelve con el mismo valor (es decir, el mismo color)
Nombre Color_de_relleno Geometría
A naranja ....
B amarillo ....
C morado ....
D rojo ....
m = folium.Map(location=[40.6725, -73.985], zoom_start=14, tiles='CartoDB positron')
title_html = '''<h3 align="center" style="font-size:16px"><b>{}</b></h3>'''.format('Proyectos Gowanus')
for _, r in gzones.iterrows():
sim_geo = gpd.GeoSeries(r['geometry'])
geo_j = sim_geo.to_json()
geo_j = folium.GeoJson(data=geo_j,
style_function=lambda x: {'fillColor': r['color_de_relleno']})
folium.Tooltip(r['Nombre']).add_to(geo_j)
geo_j.add_to(m)
m.get_root().html.add_child(folium.Element(title_html))
m
davy.ai
Para asegurarse de que cada forma en el mapa Folium esté rellenada con un valor discreto de color, deberá modificar la
style_function
para incluir un valor de color único para cada forma. Una forma de lograr esto es mediante la creación de un diccionario que mapee cada nombre en la columnaName
con su color correspondiente en la columnaFill_Color
, y luego usando ese diccionario en lastyle_function
.Aquí hay un ejemplo de cómo puede modificar el código para lograr esto:
Este código crea un diccionario
name_to_color
que mapea cada nombre en la columnaName
con su color correspondiente en la columnaFill_Color
. Luego, en lastyle_function
, buscamos el color para la forma actual usandoname_to_color[r['Name']]
.Esto debería asegurar que cada forma en el mapa Folium esté rellenada con un valor discreto de color basado en su nombre correspondiente y color en el conjunto de datos.