Matplotlib에서 축의 단위 길이를 설정하려면 xlim() 또는 ylim() 메서드를 활용할 수 있습니다. 이때 축의 배율(scale factor), 즉 단위 길이의 배수를 곱하여 범위를 조정하는 방식을 사용합니다.
구현 단계
- 그림(figure) 크기를 설정하고 서브플롯 주변과 사이의 여백(padding)을 조정합니다.
- NumPy를 사용하여 x, y 데이터 포인트를 생성합니다.
- plot() 메서드로 x와 y 데이터를 그래프에 그립니다.
- x축과 y축의 현재 범위(limit) 값을 가져옵니다.
- xlim()과 ylim() 메서드에 배율을 곱한 값으로 단위 길이 스케일을 설정합니다.
- show() 메서드를 호출하여 그림을 화면에 표시합니다.
예제 코드
import matplotlib.pyplot as plt import numpy as np plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True x = np.linspace(1, 10, 100) y = np.log(x) plt.plot(x, y) axis_scale = 2 xmin, xmax = plt.xlim() ymin, ymax = plt.ylim() plt.xlim(xmin * axis_scale, xmax * axis_scale) plt.ylim(ymin * axis_scale, ymax * axis_scale) plt.show()
코드 설명
위 예제에서는 먼저 np.linspace()로 1부터 10까지 100개의 균등한 간격의 데이터를 생성하고, 로그 함수를 적용해 y값을 만듭니다. 핵심은 axis_scale 변수입니다. 이 값을 2로 설정하면 plt.xlim()과 plt.ylim()으로 가져온 기존 축 범위에 2를 곱해 다시 설정하게 되며, 결과적으로 축의 표시 범위가 두 배로 확장됩니다.
실행 결과

그림을 실행하면 원래 범위보다 넓게 확장된 x축과 y축 위에 로그 곡선이 그려지는 것을 확인할 수 있습니다. axis_scale 값을 변경하면 원하는 배율만큼 축의 단위 길이를 자유롭게 조정할 수 있습니다.