2012-08-11 31 views
22

estoy trazar un mapa de calor en matplotlib usando:cómo anotar mapa de calor con texto en matplotlib?

plt.pcolor(rand(5,5))

cómo puedo realizar anotaciones en el mapa de calor con los números reales trazado? es decir, en cada celda del mapa de calor trazado, coloque el valor correspondiente a esa celda en la matriz 5x5 pasada a pcolor. Gracias.

Respuesta

40

No hay ninguna característica automática de hacer tal cosa, pero bucle a través de cada punto y podría poner texto en la ubicación adecuada:

import matplotlib.pyplot as plt 
import numpy as np 

data = np.random.rand(5, 4) 
heatmap = plt.pcolor(data) 

for y in range(data.shape[0]): 
    for x in range(data.shape[1]): 
     plt.text(x + 0.5, y + 0.5, '%.4f' % data[y, x], 
       horizontalalignment='center', 
       verticalalignment='center', 
       ) 

plt.colorbar(heatmap) 

plt.show() 

Code output

HTH

+0

Hola ... Podrías ayudarme con este Questio: http://stackoverflow.com/questions/30832216/heat-map-annotation-with-text –

4

El mapa de calor Seaborn hace el trabajo automáticamente, configurando annot=True.

Vea this para ver un ejemplo.

Cuestiones relacionadas