matplotlib에서 축의 눈금 배수(multiplier) 값을 설정하려면 MultipleLocator를 활용하면 됩니다. 이 글에서는 그 구현 과정을 단계별로 살펴보겠습니다.
구현 단계
- 그림(figure) 크기를 설정하고 서브플롯 주변 및 사이의 여백(padding)을 조정합니다.
- numpy를 사용하여 x 데이터 포인트를 생성합니다.
- plot() 메서드로 x와 x2를 그래프에 그립니다.
- 현재 그림의 축(axis) 객체를 가져옵니다.
- 축 배수 값으로 사용할 변수 multiplier를 초기화합니다.
- 뷰 구간(view interval) 내에서 지정한 기준값의 정수 배수마다 눈금(tick)이 표시되도록 로케이터(locator)를 생성합니다.
- x축의 주 눈금(major ticker)에 해당 로케이터를 설정합니다.
- show() 메서드로 그림을 화면에 출력합니다.
예제 코드
# matplotlib과 numpy 임포트 from matplotlib import pyplot as plt import numpy as np # 그림 크기 설정 plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True # x 데이터 포인트 생성 x = np.linspace(1, 100, 100) # x와 x² 플롯 plt.plot(x, x**2) # 현재 축 가져오기 ax = plt.gca() # 축 배수 값 multiplier = 6 # 지정한 배수마다 눈금이 놓이도록 로케이터 생성 locator = plt.MultipleLocator(multiplier) # 주 눈금의 로케이터 설정 ax.xaxis.set_major_locator(locator) plt.show()
실행 결과
위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.

핵심 정리
plt.MultipleLocator(n)는 뷰 구간 안에서 n의 정수 배수 위치마다 눈금을 배치하는 로케이터입니다. 위 예제에서는 multiplier가 6이므로 x축 눈금이 6, 12, 18, ... 형태로 표시됩니다. 이처럼 set_major_locator()를 사용하면 축 눈금 간격을 자유롭게 제어할 수 있어, 데이터 범위가 넓거나 특정 간격으로 눈금을 맞추고 싶을 때 매우 유용합니다.