Mapa de calor en seaborn con la función heatmap

Mapa de calor en seaborn con heatmap

La función heatmap permite crear mapas de calor o gráficos de correlación en Python con seaborn. Puedes pasar un conjunto de datos 2D o un data frame de pandas. En caso de utilizar un data frame de pandas los nombres de las filas y las columnas serán usados como etiquetas para los ejes.

import numpy as np
import seaborn as sns

# Simulación de datos
np.random.seed(1)
data = np.random.rand(10, 10)

sns.heatmap(data)

Mapa de calor en seaborn con la función heatmap

Celdas cuadradas

Ten en cuenta que dependiendo del número de filas y columnas y del tamaño del gráfico las celdas del mapa de calor podrían no ser cuadradas. Si quieres que las celdas sean cuadradas establece el argumento square como True.

import numpy as np
import seaborn as sns

# Simulación de datos
np.random.seed(1)
data = np.random.rand(10, 10)

sns.heatmap(data, square = True)

Mapa de calor Python con celdas cuadradas

Borde

También puedes agregar un borde para las celdas estableciendo el grosor de las líneas con linewidths, que por defecto es 0. El color por defecto será blanco, pero puedes sobrescribirlo con linecolor.

import numpy as np
import seaborn as sns

# Simulación de datos
np.random.seed(1)
data = np.random.rand(10, 10)

sns.heatmap(data,
            linewidths = 0.75, 
            linecolor = "white") # Color por defecto

Mapa de calor con bordes en seaborn

Anotaciones de texto

Además, es posible agregar los valores para cada celda con annot = True. Si necesitas cambiar el tamaño o el estilo de los textos puedes pasar un diccionario a annot_kws, como se muestra en el ejemplo siguiente.

import numpy as np
import seaborn as sns

# Simulación de datos
np.random.seed(1)
data = np.random.rand(10, 10)

sns.heatmap(data,
            annot = True,
            annot_kws = {'size': 6}) # Argumentos adicionales

Anotaciones de texto su tamaño en un mapa de calor con seaborn

Leyenda

Ten en cuenta que puedes eliminar la barra de color (la leyenda) si quieres con cbar = False, personalizarla pasando un diccionario a cbar_kws o cambiar sus límites inferior y superior con vmin y vmax, respectivamente.

import numpy as np
import seaborn as sns

# Simulación de datos
np.random.seed(1)
data = np.random.rand(10, 10)

sns.heatmap(data,
            cbar = False)

Eliminar la leyenda de un mapa de calor hecho con Python

Eliminar las etiquetas de los ejes

Al establecer los argumentos xticklabels y yticklabels como False se eliminarán las etiquetas de los ejes X e Y, respectivamente.

import numpy as np
import seaborn as sns

# Simulación de datos
np.random.seed(1)
data = np.random.rand(10, 10)

sns.heatmap(data,
            xticklabels = False, yticklabels = False)

Eliminar las etiquetas de los ejes de un mapa de calor en seaborn

Personalización del color

Los colores de un mapa de calor se pueden personalizar de dos maneras: puedes crear una paleta de colores divergente estableciendo un valor central con center o cambiar la paleta de colores con cmap, tal y como se muestra en los ejemplos siguientes.

Heat map in seaborn with a diverging color palette

Paleta de colores divergente

import numpy as np
import seaborn as sns

# Simulación de datos
np.random.seed(1)
data = np.random.rand(10, 10)

sns.heatmap(data,
            center = 0.5)

Change the color palette of the heatmap in seaborn

Cambiar la paleta de colores

import numpy as np
import seaborn as sns

# Simulación de datos
np.random.seed(1)
data = np.random.rand(10, 10)

sns.heatmap(data,
            cmap = "Blues")
Better Data Visualizations

A Guide for Scholars, Researchers, and Wonks

Comprar en Amazon

También te puede interesar