프로그래밍/Python

[python] Polar Plot 그래프 그리기

홍반장水_ 2024. 10. 29. 18:55
반응형

Python의 matplotlib 라이브러리를 사용하여 polar plot(극좌표 플롯)을 쉽게 그릴 수 있습니다. polar plot은 데이터를 각도와 반경을 사용하여 나타내며, 방위 데이터나 주기적인 패턴을 표현하는 데 유용합니다.

* 코드 설명
    1.theta와 r 설정: theta는 각도 값, r은 반경 값입니다.
         1.1.theta는 0에서 2π까지 균일하게 분포된 100개의 값을 가지며, np.linspace를 사용하여 생성합니다.
         1.2.r은 sin(3 * theta) 함수를 이용하여 생성된 반경 값에 1을 더하여 그래프를 그립니다.

                 이 함수는 각도에 따른 반경의 변화를 표현하며, 주기적인 패턴을 생성합니다.
     2.polar=True 옵션: plt.subplot(111, polar=True)로 설정하여 polar plot을 생성합니다.
     3.그래프 출력: plt.show()로 결과를 화면에 출력합니다.

import matplotlib.pyplot as plt
import numpy as np

# 각도 (theta)와 반경 (r) 값 생성
theta = np.linspace(0, 2 * np.pi, 100)  # 0에서 2π 사이의 각도 값
r = 1 + np.sin(3 * theta)               # 반경 값은 특정 함수로 정의

# Polar plot 생성
plt.figure(figsize=(6, 6))
ax = plt.subplot(111, polar=True)       # polar=True 옵션으로 polar plot 생성
ax.plot(theta, r)

# 플롯 설정
ax.set_title("Polar Plot Example", va='bottom')
plt.show()

import matplotlib.pyplot as plt
import numpy as np

# 임의의 데이터
theta = np.array([0, np.pi/4, np.pi/2, 3*np.pi/4, np.pi])  # 각도 데이터
r = np.array([1, 2, 3, 4, 5])                              # 반경 데이터

# Polar plot 생성
plt.figure(figsize=(6, 6))
ax = plt.subplot(111, polar=True)
ax.plot(theta, r, marker='o')

# 플롯 설정
ax.set_title("Custom Data Polar Plot", va='bottom')
plt.show()

반응형