Matplotlib에서 서브플롯(subplot)의 눈금 레이블(tick label)을 회전하려면 set_xticklabels() 또는 set_yticklabels() 메서드에 rotation 인자를 사용하면 됩니다.
구현 단계
- 축 눈금으로 사용할 숫자 리스트(x)를 생성합니다.
- subplot() 메서드로 현재 그림(figure)에 서브플롯을 추가하고 축 객체(ax)를 가져옵니다.
- set_xticks()와 set_yticks() 메서드를 사용해 X축과 Y축에 눈금 위치를 설정합니다.
- set_xticklabels()와 set_yticklabels()에 레이블 리스트(["one", "two", "three", "four"])와 함께 rotation=45를 지정하여 눈금 레이블을 45도 회전시킵니다.
- 축과 눈금 레이블 사이에 여백을 추가하려면 tick_params() 메서드의 pad 인자를 활용합니다. 또한 direction="in" 옵션을 사용하면 눈금이 축 안쪽으로 향하게 되며, axis="both"를 지정하면 두 축 모두에 설정이 적용됩니다.
- 마지막으로 plt.show() 메서드로 그림을 화면에 표시합니다.
예제 코드
import matplotlib.pyplot as plt plt.rcParams["figure.figsize"] = [7.00, 3.50] plt.rcParams["figure.autolayout"] = True x = [1, 2, 3, 4] ax1 = plt.subplot() ax1.set_xticks(x) ax1.set_yticks(x) ax1.set_xticklabels(["one", "two", "three", "four"], rotation=45) ax1.set_yticklabels(["one", "two", "three", "four"], rotation=45) ax1.tick_params(axis="both", direction="in", pad=15) plt.show()
실행 결과
위 코드를 실행하면 X축과 Y축의 눈금 레이블이 45도 기울어진 상태로 표시되는 것을 확인할 수 있습니다. 레이블이 길거나 눈금 개수가 많아 서로 겹칠 때 이 방법을 활용하면 그래프의 가독성을 크게 높일 수 있습니다.