Pitão

Mapas de calor e barras de cores em Matplotlib

Mapas de calor e barras de cores em Matplotlib
A visualização de dados é uma das etapas mais importantes na ciência de dados (ou em qualquer outra ciência, nesse caso). Nós, como humanos, somos pobres em dar sentido a filas e filas de números. É por isso que é sempre útil ter um utilitário como Matplotlib para nos ajudar a desenvolver uma intuição visual do que está acontecendo quando, digamos, um algoritmo de aprendizado de máquina está classificando grandes quantidades de dados.

Embora os gráficos que mostram a relação entre duas variáveis ​​como altura e peso possam ser facilmente traçados em uma tela plana como mostrado abaixo, as coisas ficam realmente complicadas quando temos mais de dois parâmetros.

É quando as pessoas tentam mudar para gráficos 3D, mas muitas vezes são confusos e desajeitados, o que anula todo o propósito da visualização de dados. Precisamos de mapas de calor para visuais.

O que são mapas de calor?

Se você olhar para a imagem de uma câmera térmica, você pode ver um mapa de calor literal. A câmera de imagem térmica representa diferentes temperaturas como cores diferentes. O esquema de cores apela à nossa intuição de que o vermelho é uma "cor quente" e usa o azul e o preto para representar as superfícies frias.

Esta vista de Marte é um bom exemplo em que as regiões frias são de cor azul, enquanto as regiões mais quentes são amplamente vermelhas e amarelas. A barra de cores na imagem mostra a cor que representa a temperatura.

Usando matplotlib podemos associar a um ponto (x, y) no gráfico com uma cor específica que representa a variável que estamos tentando visualizar. Não precisa ser a temperatura, pode ser qualquer outra variável. Também exibiremos um Barra de cor próximo a ele para indicar aos usuários o que as cores diferentes significam.

Muitas vezes você veria pessoas mencionando mapas de cores em vez de mapas de calor. Estes são frequentemente usados ​​de forma intercambiável. Colormap é um termo mais genérico.

Instalando e importando Matplotlib e pacotes relacionados

Para começar a usar o Matplotlib, certifique-se de ter o Python (de preferência Python 3 e pip) instalado. Você também vai precisar entorpecido, scipy e pandas trabalhar com conjuntos de dados. Uma vez que vamos representar graficamente uma função simples, apenas dois dos pacotes entorpecido e matplotlib vai ser necessário.

$ pip install matplotlib numpy
#ou se você tiver o python dois e o três instalados
$ pip3 install matplotlib numpy

Depois de instalar as bibliotecas, você precisa se certificar de que elas são importadas para o seu programa python.

importar numpy como np
importar matplotlib.pyplot como plt

Agora você pode usar as funções fornecidas por essas bibliotecas usando sintaxe como np.numpyfunction ()plt.alguma outra função ().

Alguns exemplos

Vamos começar traçando uma função matemática simples que pega pontos em um plano (suas coordenadas xey) e atribui um valor a eles. A imagem abaixo mostra a função junto com o gráfico.

As cores diferentes representam valores diferentes (conforme indicado pela escala ao lado do gráfico). Vejamos o código que pode ser usado para gerar este.

importar numpy como np
importar matplotlib.pyplot como plt
 
# Função matemática que precisamos para traçar
def z_func (x, y):
return (1 - (x ** 2 + y ** 3)) * np.exp (- (x ** 2 + y ** 2) / 2)
# Configurando valores de entrada
x = np.arange (-3.0, 3.0, 0.1)
y = np.arange (-3.0, 3.0, 0.1)
X, Y = np.meshgrid (x, y)
 
# Calculando a saída e armazenando-a na matriz Z
Z = z_func (X, Y)
 
im = plt.imshow (Z, cmap = plt.cm.RdBu, extensão = (- 3, 3, 3, -3), interpolação = 'bilinear')
 
plt.barra de cores (im);
 
plt.título ('$ z = (1-x ^ 2 + y ^ 3) e ^ - (x ^ 2 + y ^ 2) / 2 $')
 
plt.mostrar()

A primeira coisa a notar é que importamos apenas matplotlib.pyplot uma pequena parte de toda a biblioteca. Como o projeto é bastante antigo, muitas coisas foram acumuladas ao longo dos anos. Por exemplo, matplotlib.pyplot era popular naquela época, mas agora é apenas uma relíquia histórica e importá-lo apenas adiciona mais inchaço ao seu programa.

Em seguida, definimos a função matemática que desejamos representar graficamente. Leva dois valores (x, y) e retorna o terceiro valor z. Nós definimos a função que ainda não usamos.

A próxima seção assume a tarefa de criar uma matriz de valores de entrada, usamos numpy para isso, embora você possa usar a construção em alcance() função para isso se você quiser. Uma vez que a lista de valores xey é preparada (variando de 3 a 3 negativos), calculamos o valor z a partir dela.

Agora que calculamos nossas entradas e saídas, podemos plotar os resultados. O plt.imshow () diz ao python que a imagem vai se preocupar com Z que é a nossa variável de saída. Também diz que será um mapa de cores, um cmap, com Vermelho Azul (RdBu) Escala que se estende de -3 a 3 em qualquer eixo. O interpolação parâmetro torna o gráfico mais suave, artificialmente. Caso contrário, sua imagem pareceria bastante pixelada e grosseira.

Neste ponto, o gráfico é criado, mas não impresso. Em seguida, adicionamos a barra de cores ao lado para ajudar a correlacionar diferentes valores de Z com cores diferentes e mencionamos a equação no título. Isso é feito em etapas plt.barra de cores (im) e plt.título(… ). Por fim, chamar a função nos mostra o gráfico na tela.

Reutilização

Você pode usar a estrutura acima para traçar qualquer outro mapa de cores 2D. Você nem mesmo precisa se limitar a funções matemáticas. Se você tiver grandes matrizes de dados em seu sistema de arquivos, talvez informações sobre uma determinada demografia ou quaisquer outros dados estatísticos, você pode conectar isso modificando o X, Y valores sem alterar a seção do mapa de cores.

Espero que você tenha achado este artigo útil e se gostar de conteúdo semelhante, avise-nos.

Como aumentar o FPS no Linux?
FPS significa Quadros por segundo. A tarefa do FPS é medir a taxa de quadros em reproduções de vídeo ou desempenho de jogos. Em palavras simples, o nú...
Top jogos do Oculus App Lab
Se você é proprietário de um fone de ouvido Oculus, deve estar informado sobre o carregamento lateral. Sideload é o processo de instalação de conteúdo...
Os 10 melhores jogos para jogar no Ubuntu
A plataforma Windows tem sido uma das plataformas dominantes para jogos devido à grande porcentagem de jogos que estão sendo desenvolvidos hoje para o...