Matplotlib에서 그래프의 눈금(tick) 레이블이 너무 촘촘하게 표시되면 가독성이 크게 떨어집니다. 이 문제를 해결하려면 density(밀도) 값에 작은 숫자를 할당하여 데이터 포인트 수를 줄이면 됩니다. 데이터 포인트가 적어지면 X축에 표시되는 눈금 레이블의 개수도 자연스럽게 감소합니다.
구현 단계
눈금 밀도를 조절할 변수 density를 초기화합니다.
NumPy를 사용하여 x, y 데이터 포인트를 생성합니다.
plot() 메서드로 x와 y 데이터를 그래프에 그립니다.
xticks() 메서드를 사용해 X축의 현재 눈금 위치와 레이블을 설정합니다.
show() 메서드로 완성된 그래프를 화면에 출력합니다.
예제 코드
import numpy as np from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.00, 3.50] plt.rcParams["figure.autolayout"] = True density = 10 x = np.linspace(-2, 2, density) y = np.sin(x) plt.plot(x, y) plt.xticks(x) plt.show()
코드 설명
plt.rcParams["figure.figsize"]: 그림 크기를 가로 7인치, 세로 3.5인치로 지정합니다.plt.rcParams["figure.autolayout"]: 레이블이 잘리지 않도록 자동 레이아웃을 활성화합니다.np.linspace(-2, 2, density): -2부터 2 사이를 density 값(10)만큼 균등하게 나눈 좌표를 생성합니다. 이 값을 늘리면 눈금이 더 촘촘해지고, 줄이면 레이블 밀도가 낮아집니다.np.sin(x): 각 x 좌표에 대한 사인 값을 계산합니다.plt.xticks(x): X축 눈금을 생성된 x 데이터 포인트 위치에 정확히 배치합니다.
실행 결과

위 코드를 실행하면 sin 곡선 그래프가 그려지며, X축에는 density 값으로 지정한 10개의 눈금 레이블만 표시됩니다. 만약 density = 50처럼 값을 크게 설정하면 눈금 레이블이 겹쳐서 보일 수 있으므로, 상황에 맞게 적절한 값을 선택하는 것이 중요합니다.