Visualização de Linhas Infinitas com Matplotlib

Beginner

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

Introdução

Matplotlib é uma biblioteca Python utilizada para criar visualizações para análise de dados. Neste tutorial, aprenderemos como usar axvline, axhline e axline para desenhar linhas infinitas em Matplotlib.

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ê.

Desenhar linhas verticais e horizontais

Podemos usar axvline e axhline para desenhar linhas verticais e horizontais, respectivamente. Vamos desenhar três linhas horizontais em y=0, y=0.5 e y=1.0.

import matplotlib.pyplot as plt
import numpy as np

## Generate data
t = np.linspace(-10, 10, 100)
sig = 1 / (1 + np.exp(-t))

## Draw horizontal lines
plt.axhline(y=0, color="black", linestyle="--")
plt.axhline(y=0.5, color="black", linestyle=":")
plt.axhline(y=1.0, color="black", linestyle="--")

## Plot sigmoid function
plt.plot(t, sig, linewidth=2, label=r"$\sigma(t) = \frac{1}{1 + e^{-t}}$")
plt.xlim(-10, 10)
plt.xlabel("t")
plt.legend(fontsize=14)
plt.show()

Desenhar linha vertical

Podemos usar axvline para desenhar uma linha vertical em uma dada posição x. Vamos desenhar uma linha vertical em x=0.

import matplotlib.pyplot as plt
import numpy as np

## Generate data
t = np.linspace(-10, 10, 100)
sig = 1 / (1 + np.exp(-t))

## Draw horizontal lines
plt.axhline(y=0, color="black", linestyle="--")
plt.axhline(y=0.5, color="black", linestyle=":")
plt.axhline(y=1.0, color="black", linestyle="--")

## Draw vertical line
plt.axvline(color="grey")

## Plot sigmoid function
plt.plot(t, sig, linewidth=2, label=r"$\sigma(t) = \frac{1}{1 + e^{-t}}$")
plt.xlim(-10, 10)
plt.xlabel("t")
plt.legend(fontsize=14)
plt.show()

Desenhar linha arbitrária

Podemos usar axline para desenhar uma linha em qualquer direção. Vamos desenhar uma linha com inclinação (slope) 0.25 passando pelo ponto (0, 0.5).

import matplotlib.pyplot as plt
import numpy as np

## Generate data
t = np.linspace(-10, 10, 100)
sig = 1 / (1 + np.exp(-t))

## Draw horizontal lines
plt.axhline(y=0, color="black", linestyle="--")
plt.axhline(y=0.5, color="black", linestyle=":")
plt.axhline(y=1.0, color="black", linestyle="--")

## Draw vertical line
plt.axvline(color="grey")

## Draw arbitrary line
plt.axline((0, 0.5), slope=0.25, color="black", linestyle=(0, (5, 5)))

## Plot sigmoid function
plt.plot(t, sig, linewidth=2, label=r"$\sigma(t) = \frac{1}{1 + e^{-t}}$")
plt.xlim(-10, 10)
plt.xlabel("t")
plt.legend(fontsize=14)
plt.show()

Desenhar linhas diagonais

Podemos usar axline com o parâmetro transform para desenhar linhas diagonais com uma inclinação (slope) fixa. Vamos desenhar linhas de grade diagonais com uma inclinação fixa de 0.5.

import matplotlib.pyplot as plt
import numpy as np

## Draw diagonal lines
for pos in np.linspace(-2, 1, 10):
    plt.axline((pos, 0), slope=0.5, color='k', transform=plt.gca().transAxes)

plt.ylim([0, 1])
plt.xlim([0, 1])
plt.show()

Resumo

Neste tutorial, aprendemos como desenhar linhas infinitas em Matplotlib usando axvline, axhline e axline. Aprendemos como desenhar linhas verticais e horizontais, linhas arbitrárias e linhas diagonais com uma inclinação (slope) fixa. Essas funções são úteis para marcar valores de dados especiais ou para desenhar linhas de grade para auxiliar na análise de dados.