Matplotlib 에서 가로 및 세로 선을 그리는 방법

  1. Matplotlib 에서 가로 및 세로 선을 그리는 axhlineaxvline
  2. Matplotlib 에서 가로 및 세로 선을 그리는 hlinesvlines
  3. Matplotlib 에서 가로 및 세로 선 그리기의 결론

이 튜토리얼에서는 Matplotlib 에서 가로 및 세로 선을 그리는 두 가지 방법을 소개합니다. 이 두 방법은 Matplotlib 에서 다른 좌표를 사용합니다.

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

Matplotlib 에서 가로 및 세로 선을 그리는 axhlineaxvline

수평선을 그리는 axhline

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

axhline 은 가로선의 데이터 좌표에서 y위치에 가로선을 표시합니다.xmin 에서 xmax 사이에서 0.01.0 사이에 있어야합니다. 여기서 0.0 은 멀리 있습니다 플롯의 왼쪽은 1.0 이 플롯의 가장 오른쪽입니다.

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()

Matplotlib_x 축이있는 수평선

세로줄을 그리는 axvline

비슷하게,

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

axvlineymin 에서 ymax 사이에서 시작하여 0.01.0사이에 있어야하는 세로선의 데이터 좌표에서 x위치에 세로선을 표시합니다. 여기서 0.0은 맨 아래입니다. 플롯의 1.0은 플롯의 상단입니다.

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()

Matplotlib_px 세로선과 axhline

위에서 언급했듯이 xmin /xmaxymin /ymax 는 데이터 라인이 아니라 플롯을 참조합니다.

따라서 플롯을 확대 또는 축소하면 수평선과 수직선의 시작 및 끝 점이 데이터 좌표를 기준으로 업데이트되지만 플롯 좌표의 상대 위치를 고수합니다. 더 나은 이해를 위해 아래 애니메이션을 확인할 수 있습니다.

Matplotlib 가로 및 세로 줄 확대 효과

Matplotlib 에서 가로 및 세로 선을 그리는 hlinesvlines

플로팅 된 가로 및 세로 선이 데이터 좌표에 대한 상대 위치를 유지하기 위해 자동으로 변경되도록하려면 hlinesvlines를 사용하여 선을 플로팅해야합니다.

hlines(y, xmin, xmax)

여기서 y, xmin, xmax 는 데이터 좌표의 값입니다.

vlines(x, ymin, ymax)

여기에서 x,yminymax 는 데이터 좌표의 값입니다.

아래 예제 코드를 보자.

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 및 vlines

Matplotlib hlines 및 vlines 수평 및 수직선 확대 효과

Matplotlib 에서 가로 및 세로 선 그리기의 결론

줄을 플롯으로 참조하려면 axhlineaxvline 이 더 나은 옵션이어야합니다.

선이 데이터 좌표에 고정되도록하려면 hlinesvlines 가 더 좋습니다.