간단한 matplotlib 축(axes)을 회전하려면 다음 단계를 순서대로 따라 하면 됩니다.
1. 필요한 패키지 가져오기
import matplotlib.pyplot as plt from matplotlib.transforms import Affine2D import mpl_toolkits.axisartist.floating_axes as floating_axes
2. 구현 단계
- 그림(figure) 크기를 설정하고, 서브플롯 주변 및 사이의 여백(padding)을 조정합니다.
- 새 그림을 생성하거나 기존 그림을 활성화합니다.
- 축의 최소·최대 범위(extremes)를 튜플 형태로 정의합니다.
- 변경 가능한 2D 아핀 변환(affine transformation) "t"를 생성하고, 여기에 회전 각도(도 단위)를 적용합니다.
- 원본(곡선형) 좌표에서 대상(직선형) 좌표로 변환하는 트랜스폼을 추가합니다.
- GridHelperCurveLinear() 인스턴스를 사용하여 현재 그림에 플로팅 축(floating axes) "h"를 추가합니다.
- 서브플롯 배치의 일부로 그림에 'ax'를 추가합니다.
- 마지막으로 show() 메서드를 호출하여 그림을 화면에 표시합니다.
예제 코드
# 필요한 패키지 임포트 import matplotlib.pyplot as plt from matplotlib.transforms import Affine2D import mpl_toolkits.axisartist.floating_axes as floating_axes # 그림 크기 설정 plt.rcParams["figure.figsize"] = [7.00, 3.50] plt.rcParams["figure.autolayout"] = True # 그림 생성 fig = plt.figure() # 축 범위 정의 scales = (0, 5, 0, 5) # 25도 회전이 적용된 2D 아핀 변환 추가 t = Affine2D().rotate_deg(25) # 플로팅 축 추가 h = floating_axes.GridHelperCurveLinear(t, scales) ax = floating_axes.FloatingSubplot(fig, 111, grid_helper=h) fig.add_subplot(ax) plt.show()
실행 결과
위 코드를 실행하면 축이 25도 회전된 상태로 그려진 그래프가 출력됩니다.

이처럼 Affine2D().rotate_deg()와 floating_axes 모듈을 조합하면 복잡한 수학적 계산 없이도 축을 원하는 각도로 자유롭게 회전시킬 수 있습니다. 회전 각도를 변경하고 싶다면 rotate_deg()에 전달하는 값만 수정하면 됩니다.