Mudando as Cores das Linhas de um Retângulo

Beginner

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

Introdução

Neste laboratório, aprenderemos como alterar as cores das linhas que intersectam um retângulo usando a função .intersects_bbox do Matplotlib. Criaremos um retângulo e geraremos linhas aleatórias que o intersectam. Em seguida, mudaremos a cor das linhas que se intersectam para vermelho e as linhas restantes para azul.

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

Importaremos as bibliotecas matplotlib.pyplot e numpy para criar o retângulo e gerar linhas aleatórias.

import matplotlib.pyplot as plt
import numpy as np

Configurar o retângulo

Definiremos a posição e as dimensões do retângulo usando as variáveis left, bottom, width e height. Em seguida, criaremos o retângulo usando a classe Rectangle e o adicionaremos ao gráfico usando o método add_patch.

left, bottom, width, height = (-1, -1, 2, 2)
rect = plt.Rectangle((left, bottom), width, height,
                     facecolor="black", alpha=0.1)

fig, ax = plt.subplots()
ax.add_patch(rect)

Gerar linhas aleatórias

Geraremos 12 linhas aleatórias usando a biblioteca numpy e as plotaremos usando o método plot. Se uma linha intersectar o retângulo, sua cor será vermelha, caso contrário, azul. Usaremos a classe Path para criar uma linha e o método intersects_bbox para verificar se ela intersecta o retângulo.

bbox = Bbox.from_bounds(left, bottom, width, height)

for i in range(12):
    vertices = (np.random.random((2, 2)) - 0.5) * 6.0
    path = Path(vertices)
    if path.intersects_bbox(bbox):
        color = 'r'
    else:
        color = 'b'
    ax.plot(vertices[:, 0], vertices[:, 1], color=color)

Exibir o gráfico

Exibiremos o gráfico usando o método show.

plt.show()

Resumo

Neste laboratório, aprendemos como mudar as cores das linhas que intersectam um retângulo usando a função .intersects_bbox do Matplotlib. Criamos um retângulo e geramos linhas aleatórias que o intersectavam. Em seguida, mudamos a cor das linhas que se intersectavam para vermelho e as linhas restantes para azul.