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

matplotlibgalería antes de publicar? Hay algunos buenos ejemplos de usoimshow,pcolorypcolormeshque 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
numpymatriz 2D , simplemente useimshow()puede ayudarlo a:Este código produce un mapa de calor continuo.
Puedes elegir otro incorporado
colormapdesde 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.xyzestá en la formafuente