Contourf e Escala de Cores Logarítmica

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Neste laboratório, aprenderemos como usar a função contourf em Matplotlib para criar gráficos de contorno preenchidos com uma escala de cores logarítmica. Usaremos um conjunto de dados com valores positivos e negativos para demonstrar este recurso.

Dicas para a VM

Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.

Importar as bibliotecas necessárias

Precisamos importar as seguintes bibliotecas:

  • matplotlib.pyplot para criar gráficos e visualizações
  • numpy para gerar o conjunto de dados
import matplotlib.pyplot as plt
import numpy as np

Gerar o conjunto de dados

Geraremos um conjunto de dados com valores positivos e negativos usando numpy:

N = 100
x = np.linspace(-3.0, 3.0, N)
y = np.linspace(-2.0, 2.0, N)

X, Y = np.meshgrid(x, y)

## A low hump with a spike coming out.
## Needs to have z/colour axis on a log scale, so we see both hump and spike.
## A linear scale only shows the spike.
Z1 = np.exp(-X**2 - Y**2)
Z2 = np.exp(-(X * 10)**2 - (Y * 10)**2)
z = Z1 + 50 * Z2

## Put in some negative values (lower left corner) to cause trouble with logs:
z[:5, :5] = -1

## The following is not strictly essential, but it will eliminate
## a warning.  Comment it out to see the warning.
z = ma.masked_where(z <= 0, z)

Criar o gráfico

Usaremos a função contourf para criar um gráfico de contorno preenchido com uma escala de cores logarítmica:

fig, ax = plt.subplots()
cs = ax.contourf(X, Y, z, locator=ticker.LogLocator(), cmap=cm.PuBu_r)

cbar = fig.colorbar(cs)

plt.show()

Personalizar o gráfico

Podemos personalizar o gráfico adicionando rótulos, títulos e alterando o mapa de cores:

fig, ax = plt.subplots()
cs = ax.contourf(X, Y, z, locator=ticker.LogLocator(), cmap=cm.coolwarm)

ax.set_title('Contourf Plot with Log Color Scale')
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')

cbar = fig.colorbar(cs)

plt.show()

Resumo

Neste laboratório, aprendemos como usar a função contourf em Matplotlib para criar gráficos de contorno preenchidos com uma escala de cores logarítmica. Também aprendemos como personalizar o gráfico adicionando rótulos, títulos e alterando o mapa de cores.