극좌표계 산점도

Beginner

This tutorial is from open-source community. Access the source code

소개

이 튜토리얼에서는 Python 의 Matplotlib 을 사용하여 극좌표계에 산점도를 만드는 방법을 배웁니다. 극좌표 플롯은 극좌표로 표시되는 데이터의 그래픽 표현입니다. 시간이나 방향에 따라 측정된 데이터와 같이 데이터가 순환적이거나 원형인 경우 유용합니다.

VM 팁

VM 시작이 완료되면 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 액세스하십시오.

때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한 사항으로 인해 작업의 유효성 검사는 자동화할 수 없습니다.

학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 즉시 해결해 드리겠습니다.

필요한 라이브러리 가져오기

극좌표계에 산점도를 생성하려면 Matplotlib 및 NumPy 라이브러리를 가져와야 합니다. 또한 재현성을 위해 난수 시드 (random seed) 를 설정합니다.

import matplotlib.pyplot as plt
import numpy as np

np.random.seed(19680801)

임의 데이터 생성

NumPy 를 사용하여 산점도에 대한 임의 데이터를 생성합니다. 임의의 반지름과 각도 값을 가진 150 개의 데이터 포인트를 생성하고 각 점의 면적과 색상을 계산합니다.

N = 150
r = 2 * np.random.rand(N)
theta = 2 * np.pi * np.random.rand(N)
area = 200 * r**2
colors = theta

극좌표계에 산점도 생성

plt.scatter() 함수를 사용하여 극좌표계에 산점도를 생성합니다. projection 매개변수를 'polar'로 설정하고, 반지름, 각도, 색상 및 면적 값을 매개변수로 전달합니다.

fig = plt.figure()
ax = fig.add_subplot(projection='polar')
c = ax.scatter(theta, r, c=colors, s=area, cmap='hsv', alpha=0.75)

원점 오프셋이 있는 극좌표계에 산점도 생성

PolarAxes 객체의 set_rorigin()set_theta_zero_location() 메서드를 설정하여 원점 오프셋이 있는 극좌표계에 산점도를 생성할 수 있습니다. 원점 반지름을 -2.5로 설정하고 세타 제로 위치를 10의 오프셋으로 'W'로 설정합니다.

fig = plt.figure()
ax = fig.add_subplot(projection='polar')
c = ax.scatter(theta, r, c=colors, s=area, cmap='hsv', alpha=0.75)

ax.set_rorigin(-2.5)
ax.set_theta_zero_location('W', offset=10)

섹터로 제한된 극좌표계에 산점도 생성

PolarAxes 객체의 set_thetamin()set_thetamax() 메서드를 설정하여 섹터로 제한된 극좌표계에 산점도를 생성할 수 있습니다. 세타 시작 및 종료 제한을 각각 45135로 설정합니다.

fig = plt.figure()
ax = fig.add_subplot(projection='polar')
c = ax.scatter(theta, r, c=colors, s=area, cmap='hsv', alpha=0.75)

ax.set_thetamin(45)
ax.set_thetamax(135)

요약

이 튜토리얼에서는 Python 의 Matplotlib 을 사용하여 극좌표계에 산점도를 생성하는 방법을 배웠습니다. 무작위 데이터를 생성하고, 극좌표계에 산점도를 생성하고, 원점 오프셋이 있는 극좌표계에 산점도를 생성하고, 섹터로 제한된 극좌표계에 산점도를 생성했습니다. 극좌표 플롯은 시간 또는 방향에 따라 측정된 데이터와 같이 순환 또는 원형 데이터를 표시하는 데 유용합니다.