Introdução
Este laboratório irá guiá-lo sobre como exibir suas próprias linhas de contorno e polígonos usando ContourSet em Matplotlib. As linhas de contorno para cada nível são uma lista/tupla de polígonos. Contornos preenchidos entre dois níveis também são uma lista/tupla de polígonos. Os pontos podem ser ordenados no sentido horário ou anti-horário.
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 às limitações do 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
O primeiro passo é importar as bibliotecas necessárias. Neste laboratório, usaremos Matplotlib.
import matplotlib.pyplot as plt
import matplotlib.cm as cm
from matplotlib.contour import ContourSet
from matplotlib.path import Path
Definir as linhas de contorno e polígonos
O próximo passo é definir as linhas de contorno e os polígonos. Neste exemplo, temos linhas e contornos preenchidos entre dois níveis.
## As linhas de contorno para cada nível são uma lista/tupla de polígonos.
lines0 = [[[0, 0], [0, 4]]]
lines1 = [[[2, 0], [1, 2], [1, 3]]]
lines2 = [[[3, 0], [3, 2]], [[3, 3], [3, 4]]] ## Note two lines.
## Contornos preenchidos entre dois níveis também são uma lista/tupla de polígonos.
## Os pontos podem ser ordenados no sentido horário ou anti-horário.
filled01 = [[[0, 0], [0, 4], [1, 3], [1, 2], [2, 0]]]
filled12 = [[[2, 0], [3, 0], [3, 2], [1, 3], [1, 2]], ## Note two polygons.
[[1, 4], [3, 4], [3, 3]]]
Criar o gráfico
O próximo passo é criar o gráfico. Isso pode ser feito usando a função ContourSet.
fig, ax = plt.subplots()
## Contornos preenchidos usando filled=True.
cs = ContourSet(ax, [0, 1, 2], [filled01, filled12], filled=True, cmap=cm.bone)
cbar = fig.colorbar(cs)
## Linhas de contorno (não preenchidas).
lines = ContourSet(
ax, [0, 1, 2], [lines0, lines1, lines2], cmap=cm.cool, linewidths=3)
cbar.add_lines(lines)
ax.set(xlim=(-0.5, 3.5), ylim=(-0.5, 4.5),
title='User-specified contours')
Criar contornos preenchidos com buracos
Múltiplas linhas de contorno preenchidas podem ser especificadas em uma única lista de vértices de polígono, juntamente com uma lista de tipos de vértices (tipos de código), conforme descrito na classe Path. Isso é particularmente útil para polígonos com buracos.
fig, ax = plt.subplots()
filled01 = [[[0, 0], [3, 0], [3, 3], [0, 3], [1, 1], [1, 2], [2, 2], [2, 1]]]
M = Path.MOVETO
L = Path.LINETO
kinds01 = [[M, L, L, L, M, L, L, L]]
cs = ContourSet(ax, [0, 1], [filled01], [kinds01], filled=True)
cbar = fig.colorbar(cs)
ax.set(xlim=(-0.5, 3.5), ylim=(-0.5, 3.5),
title='User specified filled contours with holes')
Resumo
Neste laboratório, aprendemos como exibir nossas próprias linhas de contorno e polígonos usando ContourSet em Matplotlib. Definimos as linhas de contorno e polígonos, criamos o gráfico e criamos contornos preenchidos com buracos.