그래프에 점근선(asymptote)이나 불연속점(discontinuity)이 포함된 함수를 그릴 때는, 함수 곡선과 함께 기준선을 명확하게 표시해 주는 것이 좋습니다. Matplotlib에서는 axhline()과 axvline() 메서드를 활용하면 간단하게 처리할 수 있습니다.
예를 들어 y = 1/x 함수는 x = 0에서 발산하는 전형적인 불연속 함수입니다. 이러한 그래프를 다음 단계에 따라 시각화할 수 있습니다.
NumPy를 사용하여 x, y 데이터 포인트를 생성합니다.
plt.axis('off')로 기본 축 표시를 끕니다.x, y 데이터로 함수 곡선을 그립니다.
axhline()으로 수평선(x축, y=0)을 추가합니다.axvline()으로 수직선(y축, x=0)을 추가합니다.y = 1/x 곡선에 대한 범례(legend)를 배치합니다.
show()메서드를 호출하여 그래프를 화면에 출력합니다.
예제 코드
import numpy as np
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
x = np.linspace(-1, 1, 100)
y = 1 / x
plt.axis('off')
plt.plot(x, y, label='y=1/x')
plt.axhline(y=0, c='red')
plt.axvline(x=0, c='red')
plt.legend(loc='upper left')
plt.show()실행 결과

위 코드를 실행하면 빨간색 수평선과 수직선이 좌표축 역할을 하며, y = 1/x 곡선이 원점 근처에서 위아래로 발산하는 모습을 통해 x = 0 지점의 불연속성을 한눈에 확인할 수 있습니다. 참고로 np.linspace(-1, 1, 100) 구간에는 정확히 0이 포함되지 않으므로 ZeroDivisionError 없이 그래프가 자연스럽게 그려집니다.