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)
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)
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
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
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 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)
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.
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)
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")
También te puede interesar