Matplotlib 로 극좌표 플롯 만들기

Beginner

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

소개

Matplotlib 는 Python 에서 정적, 애니메이션 및 대화형 시각화를 생성하는 데 사용되는 Python 라이브러리입니다. Matplotlib 의 주요 기능 중 하나는 산점도, 선 그래프, 막대 차트를 포함하여 모든 유형과 스타일의 2D 및 3D 플롯을 생성할 수 있다는 것입니다. 이 랩에서는 Matplotlib 를 사용하여 직사각형 상자에 극좌표 곡선을 만드는 방법을 배우게 됩니다.

VM 팁

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

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

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

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

이 단계에서는 극좌표 곡선을 생성하는 데 필요한 라이브러리를 가져오겠습니다. 수치 계산을 위해 numpy를 사용하고 플롯 생성을 위해 matplotlib를 사용합니다.

import matplotlib.pyplot as plt
import numpy as np

극좌표 축 정의

이 단계에서는 극좌표 축을 정의하고 스케일링 팩터를 설정합니다. PolarAxes.PolarTransform()을 사용하여 극좌표 축을 정의합니다.

from matplotlib.projections import PolarAxes
from matplotlib.transforms import Affine2D

## Define the polar axes
tr = Affine2D().scale(np.pi / 180., 1.) + PolarAxes.PolarTransform()

그리드 헬퍼 정의

이 단계에서는 극좌표 곡선을 생성하는 데 사용될 그리드 헬퍼를 정의합니다. GridHelperCurveLinear를 사용하여 그리드 헬퍼를 정의합니다.

from mpl_toolkits.axisartist import GridHelperCurveLinear, HostAxes
import mpl_toolkits.axisartist.angle_helper as angle_helper

## Define the grid helper
extreme_finder = angle_helper.ExtremeFinderCycle(20,
                                                 20,
                                                 lon_cycle=360,
                                                 lat_cycle=None,
                                                 lon_minmax=None,
                                                 lat_minmax=(0, np.inf),
                                                 )
grid_locator1 = angle_helper.LocatorDMS(12)
tick_formatter1 = angle_helper.FormatterDMS()

grid_helper = GridHelperCurveLinear(tr,
                                    extreme_finder=extreme_finder,
                                    grid_locator1=grid_locator1,
                                    tick_formatter1=tick_formatter1
                                    )

호스트 축 생성

이 단계에서는 호스트 축을 생성하고 그리드 헬퍼를 설정합니다. fig.add_subplot()을 사용하여 호스트 축을 생성합니다.

## Create the host axes
fig = plt.figure(figsize=(5, 5))
ax1 = fig.add_subplot(axes_class=HostAxes, grid_helper=grid_helper)

플로팅 축 생성

이 단계에서는 직사각형 상자에 극좌표 곡선을 표시하는 데 사용될 두 개의 플로팅 축을 생성합니다. new_floating_axis()를 사용하여 플로팅 축을 생성합니다.

## Create the floating axes
ax1.axis["lat"] = axis = ax1.new_floating_axis(0, 60)
axis.label.set_text(r"$\theta = 60^{\circ}$")
axis.label.set_visible(True)

ax1.axis["lon"] = axis = ax1.new_floating_axis(1, 6)
axis.label.set_text(r"$r = 6$")

제한 설정 및 그리드 표시

이 단계에서는 축의 제한을 설정하고 그리드를 표시합니다. set_aspect()를 사용하여 축의 종횡비를 설정하고 grid()를 사용하여 그리드를 표시합니다.

## Set the limits and display the grid
ax1.set_aspect(1.)
ax1.set_xlim(-5, 12)
ax1.set_ylim(-5, 10)
ax1.grid(True)

극좌표 곡선 표시

이 단계에서는 직사각형 상자에 극좌표 곡선을 표시합니다. plt.show()를 사용하여 플롯을 표시합니다.

## Display the polar curve
plt.show()

요약

이 랩에서는 Matplotlib 을 사용하여 직사각형 상자에 극좌표 곡선을 만드는 방법을 배웠습니다. 극좌표 축과 그리드 헬퍼를 정의하고, 호스트 축을 생성하고, 플로팅 축을 생성하고, 제한을 설정하고, 그리드를 표시하고, 극좌표 곡선을 표시하는 방법을 배웠습니다. 이 지식을 통해 Matplotlib 을 사용하여 직사각형 상자에 다양한 극좌표 곡선을 만들 수 있습니다.