Usando o Matplotlib, quero traçar um mapa de calor 2D. Meus dados são uma matriz Numpy n por n, cada uma com um valor entre 0 e 1. Portanto, para o elemento (i, j) dessa matriz, quero plotar um quadrado na coordenada (i, j) na minha mapa de calor, cuja cor é proporcional ao valor do elemento na matriz.
Como posso fazer isso?
python
numpy
matplotlib
Karnivaurus
fonte
fonte
matplotlib
galeria antes de postar? Há alguns exemplos bons usandoimshow
,pcolor
epcolormesh
que fazer o que quiserRespostas:
A
imshow()
função com parâmetrosinterpolation='nearest'
ecmap='hot'
deve fazer o que você deseja.fonte
O Seaborn cuida de muito do trabalho manual e plota automaticamente um gradiente ao lado do gráfico, etc.
Ou ainda, você pode plotar triângulos superior / inferior esquerdo / direito de matrizes quadradas, por exemplo, uma matriz de correlação quadrada e simétrica; portanto, plotar todos os valores seria redundante de qualquer maneira.
fonte
Para uma
numpy
matriz 2D , basta usarimshow()
pode ajudá-lo:Este código produz um mapa de calor contínuo.
Você pode escolher outro built-in a
colormap
partir daqui .fonte
Eu usaria a função pcolor / pcolormesh do matplotlib, pois permite o espaçamento não uniforme dos dados.
Exemplo retirado do matplotlib :
fonte
Veja como fazer isso em um csv:
onde
dat.xyz
está na formafonte