Como traçar linhas horizontais e verticais em Matplotlib

Jinku Hu 30 janeiro 2023
  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
Como traçar 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.

Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Artigo relacionado - Matplotlib Line