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 npimportar matplotlib.pyplot como plt
Agora você pode usar as funções fornecidas por essas bibliotecas usando sintaxe como np.numpyfunction ()
e 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 npimportar 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.