Python/Matplotlib

[Matplotlib] 파이썬 그래프 회전 방법 예제

jimmy_AI 2022. 8. 9. 22:57
반응형

Python plt graph rotation code

파이썬에서 matplotlib을 통하여 그린 그래프를 회전하는 방법을 알아보도록 하겠습니다.

 

먼저, 아래와 같이 간단한 선 그래프산점도가 있다고 가정해보겠습니다.

import matplotlib.pyplot as plt

plt.plot(range(1, 6), range(1, 6), color = 'blue')
plt.scatter([1, 2, 3, 4, 5], [2, 5, 4, 1, 3], color = 'red')

plt.show()

 

 

그래프 회전하기 코드

해당 그래프를 원하는 각도로 회전하기 위해서는

아래 코드의 transdata와 rotote 부분을 지정하고,

회전을 원하는 그래프의 transform 인자에 rotate + transdata를 지정해주시면 됩니다.

(rotate 부분의 rotate_deg 인자에 각도 숫자를 적어주시면 되며,

원점을 기준으로 반시계 방향 회전입니다.)

from matplotlib import transforms

transdata = plt.gca().transData
rotate = transforms.Affine2D().rotate_deg(30) # 각도 지정, 반시계 방향 30도 회전 예시

# rotate + transdata를 transform 인자에 지정
plt.plot(range(1, 6), range(1, 6), color = 'blue', transform = rotate + transdata) 
plt.scatter([1, 2, 3, 4, 5], [2, 5, 4, 1, 3], color = 'red', transform = rotate + transdata)

plt.show()

선 그래프와 산점도가 원점 기준 반시계 방향으로 30도씩 회전하여 그려진 모습을 볼 수 있습니다.

(참고 : 원점 기준이 아닌 경우에는 rotate_deg 대신 rotate_deg_around(x, y, 각도) 형태

지정해주시면 (x, y)를 기준으로 지정한 각도만큼 회전시킬 수 있습니다.)