Saltar al contenido

Etiqueta de la barra de colores del mapa de calor de Seaborn como porcentaje

Solución:

iterando en la solución de @mwaskom, sin crear la barra de colores usted mismo:

import numpy as np
import seaborn as sns
data = np.random.rand(8, 12)
ax = sns.heatmap(data, vmin=0, vmax=1)
cbar = ax.collections[0].colorbar
cbar.set_ticks([0, .2, .75, 1])
cbar.set_ticklabels(['low', '20%', '75%', '100%'])

etiquetas de barra de color de mapa de calor de seaborn personalizadas

Bueno, tuve un problema similar y descubrí cómo configurar correctamente un formateador. Tu ejemplo se convertiría en algo como:

import numpy as np; np.random.seed(0)
import seaborn as sns; sns.set()

uniform_data = np.random.rand(10, 12)
uniform_data = 100 * uniform_data

sns.heatmap(uniform_data,
            cbar_kws={'format': '%.0f%%'})

Entonces, lo que tienes que hacer es pasar un formateador de cuerdas de estilo antiguo para agregar porcentajes a las etiquetas de la barra de colores. No es exactamente lo que yo llamaría evidente por sí mismo, pero funciona …

Para mostrar solo el primero y el último, agregue vmax, vmin y un parámetro extra para cbar_kws:

sns.heatmap(uniform_data,
            cbar_kws={'format': '%.0f%%', 'ticks': [0, 100]},
            vmax=100,
            vmin=0)

Debe poder acceder al objeto de la barra de colores. Puede que esté enterrado en el objeto de la figura en algún lugar, pero no pude encontrarlo, por lo que lo más fácil es hacerlo usted mismo:

import numpy as np; np.random.seed(0)
import seaborn as sns; sns.set()
uniform_data = np.random.rand(10, 12)
ax = sns.heatmap(uniform_data, cbar=False, vmin=0, vmax=1)
cbar = ax.figure.colorbar(ax.collections[0])
cbar.set_ticks([0, 1])
cbar.set_ticklabels(["0%", "100%"])

ingrese la descripción de la imagen aquí

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *