es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Folium Mapa de calor con valores de barra de color

En mi proyecto recibo un DataFrame con puntajes para ciudades en los Estados Unidos. Puedo trazar el HeatMap utilizando Folium, sin embargo, me gustaría agregar una barra de color para mostrar los valores numéricos de estos puntajes, basados en el color del HeatMap. ¿Hay alguna forma de hacerlo?
Mi código hasta ahora:

ciudades = pd.read_csv('../datasets/us.csv')
cord = ciudades[["latitude", "longitude", "puntuacion"]]

# crear mapa
base_map = folium.Map(
    width="100%",
    height="100%",
    location=[-15.788497, -47.879873],
    zoom_start=4
)

base_map = base_map.add_child(plugins.HeatMap(cord, radius=20, min_opacity=0.1))
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para agregar una barra de colores que muestre los valores numéricos de las puntuaciones, basado en el color del HeatMap, podemos utilizar la función folium.ColorMap(). Aquí está el código actualizado:

    import numpy as np
    
    cities = pd.read_csv( '../datasets/us.csv' )
    cord = cities[[ "latitude", "longitude", "score" ]]
    
    # Crear mapa
    base_map = folium.Map(
        width="100%",
        height="100%",
        location=[ -15.788497, -47.879873 ],
        zoom_start=4
    )
    
    # Definir escala de colores
    colormap = folium.LinearColormap(colors=['red', 'yellow', 'green'], vmin=cord.score.min(), vmax=cord.score.max())
    
    # Agregar HeatMap con escala de colores
    HeatMap(cord, radius=20, min_opacity=0.1, gradient={0.2:'blue', 0.4:'lime', 0.6:'orange', 1:'red'}, overlay=True, control=False).add_to(base_map)
    
    # Agregar barra de colores al mapa
    colormap.add_to(base_map)
    
    

    En este código, utilizamos la función folium.LinearColormap() para definir una escala de colores con los valores mínimo y máximo de la columna “score”. Luego, agregamos esta escala de colores al HeatMap utilizando el parámetro “gradient”. Finalmente, agregamos la escala de colores al mapa utilizando el método “add_to()”.

    Ten en cuenta que utilizamos el parámetro “gradient” en la función HeatMap() para especificar los colores del propio HeatMap, los cuales son diferentes de los colores de la barra de colores. Si deseas que los colores del HeatMap coincidan con los colores de la barra de colores, debes especificar los mismos colores en los parámetros “colormap” y “gradient”.

Comments are closed.