Matplotlib에서 그래프의 축 값을 변환하거나 크기를 조정하고, 눈금(tick) 빈도를 재정의하려면 xticks() 메서드를 사용하여 눈금 위치와 레이블 목록을 직접 지정하면 됩니다. 이 방법을 활용하면 X축의 표시 단위를 원하는 값으로 바꾸거나, 눈금이 나타나는 간격을 자유롭게 조절할 수 있습니다.
구현 순서
그림(figure) 크기를 설정하고 서브플롯 주변과 사이의 여백(padding)을 조정합니다.
데이터 포인트 개수를 담을 변수 n을 초기화합니다.
Numpy를 사용하여 x, y 데이터 포인트를 생성합니다.
plot()메서드로 x, y 데이터를 그래프에 그립니다.눈금 위치(ticks)와 눈금 레이블(tick labels) 목록을 만듭니다.
xticks()메서드를 호출하여 축 스케일을 배치하고 눈금 빈도를 재정의합니다.show()메서드로 그래프를 화면에 출력합니다.
예제 코드
import numpy as np from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True n = 10 x = np.linspace(-2, 2, n) y = np.exp(x) plt.plot(x, y) xticks = [i for i in range(int(n/2))] xtick_labels = ["x"+str(i) for i in range(int(n/2))] plt.xticks(xticks, xtick_labels) plt.show()
코드 설명
위 예제에서는 np.linspace(-2, 2, n)으로 -2부터 2까지 10개의 균등한 x값을 생성하고, 이에 대한 지수 함수 y = exp(x)를 계산하여 그래프를 그립니다.
핵심은 마지막 부분의 plt.xticks(xticks, xtick_labels)입니다. 첫 번째 인수인 xticks는 눈금이 표시될 실제 좌표 위치를 담은 리스트이며, 두 번째 인수인 xtick_labels는 각 눈금 자리에 대신 표시할 텍스트 레이블 리스트입니다. 즉, 원래의 수치 좌표 대신 "x0", "x1", ... 형태의 사용자 정의 라벨로 X축이 재구성되는 것입니다.
실행 결과

결과 그래프를 보면 X축의 기본 숫자 눈금이 "x0"부터 "x4"까지의 문자열 레이블로 교체된 것을 확인할 수 있습니다. 이처럼 xticks()를 활용하면 날짜, 카테고리 이름 등 임의의 값으로 축을 변환하는 것이 가능하며, Y축에도 동일하게 yticks() 메서드를 적용할 수 있습니다.