Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Matplotlib 서브플롯에서 눈금 레이블 회전하는 방법

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도 기울어진 상태로 표시되는 것을 확인할 수 있습니다. 레이블이 길거나 눈금 개수가 많아 서로 겹칠 때 이 방법을 활용하면 그래프의 가독성을 크게 높일 수 있습니다.