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

Matplotlib에서 축(Axes)을 간단하게 회전하는 방법

간단한 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도 회전된 상태로 그려진 그래프가 출력됩니다.

Matplotlib에서 축(Axes)을 간단하게 회전하는 방법

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