Data Visualization

Dominando Linhas Horizontais e Verticais em Gráficos Matplotlib

Spread the love

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.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *