Usando Matplotlib, quiero trazar un mapa de calor 2D. Mis datos son una matriz N-by-n Numpy, cada uno con un valor entre 0 y 1. Por lo tanto, para el elemento (i, j) de esta matriz, quiero trazar un cuadrado en la coordenada (i, j) en mi mapa de calor, cuyo color es proporcional al valor del elemento en la matriz.
¿Cómo puedo hacer esto?
python
numpy
matplotlib
Karnivaurus
fuente
fuente
matplotlib
galería antes de publicar? Hay algunos buenos ejemplos de usoimshow
,pcolor
ypcolormesh
que hacen lo que quieresRespuestas:
La
imshow()
función con parámetrosinterpolation='nearest'
ycmap='hot'
debe hacer lo que quieras.fuente
Seaborn se encarga de gran parte del trabajo manual y traza automáticamente un gradiente al lado de la tabla, etc.
O incluso puede trazar triángulos superior / inferior izquierda / derecha de matrices cuadradas, por ejemplo, una matriz de correlación que es cuadrada y simétrica, por lo que trazar todos los valores sería redundante de todos modos.
fuente
Para una
numpy
matriz 2D , simplemente useimshow()
puede ayudarlo a:Este código produce un mapa de calor continuo.
Puedes elegir otro incorporado
colormap
desde aquí .fuente
Usaría la función pcolor / pcolormesh de matplotlib ya que permite un espaciado no uniforme de los datos.
Ejemplo tomado de matplotlib :
fuente
Aquí se explica cómo hacerlo desde un csv:
donde
dat.xyz
está en la formafuente