Matplotlib é uma poderosa biblioteca Python para criação de visualizações. Adicionar linhas horizontais e verticais aos seus gráficos pode melhorar significativamente a clareza, destacando pontos de dados, limiares ou regiões de interesse. Este artigo demonstra dois métodos eficazes para alcançar isso: usando axhline
/axvline
e hlines
/vlines
.
Sumário
Usando axhline
e axvline
As funções axhline
e axvline
oferecem uma maneira simples de adicionar linhas horizontais e verticais únicas, respectivamente, diretamente a um objeto de eixos Matplotlib. Elas são ideais quando uma linha precisa se estender por todo o gráfico.
import matplotlib.pyplot as plt
import numpy as np
# Dados de exemplo
x = np.linspace(0, 10, 100)
y = np.sin(x)
# Criar o gráfico
fig, ax = plt.subplots()
ax.plot(x, y)
# Adicionar uma linha horizontal em y = 0.5
ax.axhline(y=0.5, color='r', linestyle='--', linewidth=2)
# Adicionar uma linha vertical em x = 5
ax.axvline(x=5, color='g', linestyle='-', linewidth=1)
# Personalizar a aparência (opcional)
ax.set_xlabel("Eixo X")
ax.set_ylabel("Eixo Y")
ax.set_title("Linhas Horizontais e Verticais com axhline/axvline")
plt.show()
Este código gera uma onda senoidal e adiciona uma linha horizontal tracejada vermelha em y = 0.5
e uma linha vertical sólida verde em x = 5
. Você pode personalizar as propriedades da linha usando parâmetros como color
, linestyle
, linewidth
, alpha
(transparência) e label
(para legendas).
Usando hlines
e vlines
Para maior controle, particularmente ao plotar várias linhas ou linhas que abrangem apenas uma parte dos eixos, hlines
e vlines
oferecem maior flexibilidade. Elas permitem especificar as coordenadas y para linhas horizontais e coordenadas x para linhas verticais individualmente.
import matplotlib.pyplot as plt
import numpy as np
# Dados de exemplo
x = np.linspace(0, 10, 100)
y = np.sin(x)
# Criar o gráfico
fig, ax = plt.subplots()
ax.plot(x, y)
# Adicionar várias linhas horizontais
ax.hlines(y=[0, 0.5, 1], xmin=0, xmax=10, colors=['b', 'r', 'g'], linestyles=['-', '--', ':'])
# Adicionar várias linhas verticais
ax.vlines(x=[2, 7], ymin=0, ymax=1, colors=['k', 'm'], linewidths=[2, 1])
# Personalizar a aparência (opcional)
ax.set_xlabel("Eixo X")
ax.set_ylabel("Eixo Y")
ax.set_title("Linhas Horizontais e Verticais com hlines/vlines")
plt.show()
Este exemplo adiciona três linhas horizontais em diferentes valores y em toda a faixa x e duas linhas verticais em coordenadas x específicas, estendendo-se de ymin=0
a ymax=1
. Listas são usadas para múltiplas especificações de linha. Observe o uso de linewidths
para controlar a espessura da linha.
Conclusão
Tanto axhline
/axvline
quanto hlines
/vlines
são ferramentas úteis para aprimorar gráficos Matplotlib. axhline
/axvline
são mais simples para linhas únicas que abrangem todo o gráfico, enquanto hlines
/vlines
oferecem maior flexibilidade para várias linhas ou linhas com pontos de início e fim específicos. A melhor escolha depende das suas necessidades de visualização. Lembre-se de adaptar os estilos e cores das linhas para uma clareza ideal.