Como traçar linhas horizontais e verticais em Matplotlib

  1. axhline e axvline para traçar linhas horizontais e verticais em Matplotlib
  2. axhline e axvline para traçar linhas horizontais e verticais em Matplotlib
  3. Conclusão do desenho de linhas horizontais e verticais em Matplotlib

Neste tutorial, vamos introduzir dois métodos para desenhar linhas horizontais e verticais em Matplotlib. Estes dois métodos usam coordenadas diferentes em Matplotlib.

  • axhline() / axvline()
  • hlines() / vlines()

axhline e axvline para traçar linhas horizontais e verticais em Matplotlib

axhline para traçar uma linha horizontal

matplotlib.pyplot.axhline(y=0, xmin=0, xmax=1, hold=None, **kwargs)

O axhline traça uma linha horizontal na posição de y na coordenada de dados da linha horizontal, começando de xmin a xmax que deve estar entre 0.0 e 1.0, onde 0.0 é a extrema esquerda do gráfico e 1.0 é a extrema direita do gráfico.

from matplotlib import pyplot as plt

xdata = list(range(10))
ydata = [_*2 for _ in xdata]

plt.plot(xdata, ydata, 'b')

plt.axhline(y=5, xmin=0.1, xmax=0.9)

plt.grid()
plt.show()

Linha horizontal Matplotlib_plotlib_plot com linha axilar

axvline para traçar uma linha vertical

Da mesma forma,

matplotlib.pyplot.axvline(x=0, ymin=0, ymax=1, hold=None, **kwargs)

O axvline traça uma linha vertical na posição de x na coordenada de dados da linha vertical, começando de ymin a ymax que deve estar entre 0.0 e 1.0, onde 0.0 é a parte inferior do gráfico e 1.0 é a parte superior do gráfico.

from matplotlib import pyplot as plt

xdata = list(range(10))
ydata = [_*2 for _ in xdata]

plt.plot(xdata, ydata, 'b')

plt.axvline(x=5, ymin=0.1, ymax=0.9)

plt.grid()
plt.show()

Linha vertical Matplotlib_plotlib_plot com linha axilar

Como dito acima, xmin / xmax e ymin / ymax são referidos à trama, mas não às linhas de dados.

Portanto, se aumentarmos ou diminuirmos o gráfico, os pontos inicial e final das linhas horizontais e verticais serão atualizados com a referência à coordenada dos dados, mas mantendo as posições relativas na coordenada do gráfico. Poderíamos verificar a animação abaixo para ter uma melhor compreensão.

Ampliação das linhas horizontais e verticais Matplotlib em efeito

axhline e axvline para traçar linhas horizontais e verticais em Matplotlib

Se quisermos que as linhas horizontais e verticais traçadas mudem automaticamente para manter a posição relativa à coordenada de dados, precisamos usar hlines e vlines para traçar linhas.

hlines(y, xmin, xmax)

Aqui, y, xmin e xmax são os valores da coordenada de dados.

vlines(x, ymin, ymax)

Aqui, x, ymin e ymax são os valores da coordenada de dados.

Vamos ver os códigos de exemplo abaixo.

from matplotlib import pyplot as plt

xdata = list(range(10))
ydata = [_*2 for _ in xdata]

plt.plot(xdata, ydata, 'b')

plt.hlines(y=5, xmin=0, xmax=10)
plt.vlines(x=5, ymin=0, ymax=20)

plt.grid()
plt.show()

Matplotlib_hlines e vlines para traçar linhas horizontais e verticais

Linhas Matplotlib hlines e vlines linha horizontal e vertical com efeito de zoom

Conclusão do desenho de linhas horizontais e verticais em Matplotlib

Se você precisar que a linha seja encaminhada para a trama, axhline e axvline devem ser a melhor opção.

Se você preferir que a linha fique com a coordenada de dados, axhline e axvline são as melhores escolhas.

Artigo relacionado - Matplotlib Line

  • Estilos de linha em Matplotlib Python