개요
Matplotlib으로 그래프를 그리다 보면 X축 레이블이 길어서 눈금 사이에 겹치는 문제가 자주 발생합니다. 이럴 때 tight_layout(타이트 레이아웃)을 활성화하고 눈금(tick) 레이블을 회전시키면, 전체 그림 크기에 맞춰 텍스트가 자동으로 배치되어 가독성이 크게 향상됩니다.
구현 단계
- 그림(figure) 크기를 설정하고, 서브플롯 주변 및 사이의 여백(padding)을 자동으로 조정합니다.
- 0부터 9까지의 데이터 포인트를 플롯합니다.
- X축에 표시할 레이블(labels) 리스트를 생성합니다.
- X축에 눈금과 레이블을 배치하면서 30도 회전을 적용합니다.
- plt.show() 메서드를 호출해 최종 그림을 화면에 출력합니다.
예제 코드
from matplotlib import pyplot as plt # 그림 크기 설정 (가로 7인치, 세로 3.5인치) plt.rcParams["figure.figsize"] = [7.00, 3.50] # tight_layout 활성화: 여백 자동 조정 plt.rcParams["figure.autolayout"] = True # 0~9 범위의 데이터 플롯 plt.plot(range(10)) # 각 눈금에 표시할 긴 레이블 생성 labels = [7 * repr(i) for i in range(10)] # X축 눈금과 레이블을 30도 회전하여 배치 plt.xticks(range(10), labels, rotation=30) plt.show()
실행 결과
위 코드를 실행하면 다음과 같은 그래프가 출력됩니다.

핵심 포인트 정리
figure.autolayout을 True로 설정하면 축 레이블, 제목 등이 잘리지 않도록 Matplotlib이 그림 영역을 자동으로 재배치합니다. 또한 xticks() 함수의 rotation 인자를 사용해 눈금 레이블을 기울이면, 긴 텍스트라도 서로 겹치지 않고 깔끔하게 표시됩니다. 두 기법을 함께 사용하면 별도의 폰트 크기 수동 조정 없이도 텍스트가 그림 크기에 맞게 자연스럽게 배치되는 효과를 얻을 수 있습니다.