소개
이 튜토리얼에서는 Python 의 Matplotlib 을 사용하여 복합 경로를 만드는 방법을 배웁니다. 복합 경로는 복잡한 모양을 만드는 데 사용할 수 있는 단순 경로의 모음입니다. 사각형과 삼각형, 두 개의 단순 다각형을 결합하여 복합 경로를 만들 것입니다.
VM 팁
VM 시작이 완료되면 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 액세스하십시오.
때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한 사항으로 인해 작업의 유효성 검사는 자동화할 수 없습니다.
학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 즉시 해결해 드리겠습니다.
필요한 라이브러리 가져오기
필요한 라이브러리를 가져오는 것으로 시작합니다. 플롯을 생성하기 위해 matplotlib.pyplot, 패치를 생성하기 위해 matplotlib.patches, 경로를 생성하기 위해 matplotlib.path.Path, 그리고 배열을 생성하기 위해 numpy가 필요합니다.
import matplotlib.pyplot as plt
from matplotlib.patches import PathPatch
from matplotlib.path import Path
import numpy as np
정점 및 코드 생성
복합 경로로 결합하려는 두 개의 다각형에 대한 정점 (vertices) 과 코드 (codes) 를 생성합니다. Path.MOVETO를 사용하여 커서를 다각형의 시작점으로 이동하고, Path.LINETO를 사용하여 시작점에서 다음 점까지 선을 만들고, Path.CLOSEPOLY를 사용하여 다각형을 닫습니다.
vertices = []
codes = []
## First Polygon - Rectangle
codes = [Path.MOVETO] + [Path.LINETO]*3 + [Path.CLOSEPOLY]
vertices = [(1, 1), (1, 2), (2, 2), (2, 1), (0, 0)]
## Second Polygon - Triangle
codes += [Path.MOVETO] + [Path.LINETO]*2 + [Path.CLOSEPOLY]
vertices += [(4, 4), (5, 5), (5, 4), (0, 0)]
경로 생성
이전 단계에서 생성한 정점 (vertices) 과 코드 (codes) 를 사용하여 Path를 통해 경로를 생성합니다.
path = Path(vertices, codes)
PathPatch 생성
이전 단계에서 생성한 경로 (path) 로부터 PathPatch를 생성합니다. facecolor를 'none'으로, edgecolor를 'green'으로 설정합니다.
pathpatch = PathPatch(path, facecolor='none', edgecolor='green')
플롯 생성
플롯을 생성하고 PathPatch를 플롯에 추가합니다. 플롯의 제목을 'A Compound Path'로 설정합니다.
fig, ax = plt.subplots()
ax.add_patch(pathpatch)
ax.set_title('A Compound Path')
ax.autoscale_view()
plt.show()
요약
이 튜토리얼에서는 Python 의 Matplotlib 을 사용하여 복합 경로 (compound path) 를 만드는 방법을 배웠습니다. 사각형과 삼각형, 두 개의 간단한 다각형을 결합하여 복합 경로를 생성했습니다. 정점 (vertices) 과 코드 (codes) 로부터 경로를 생성하기 위해 Path를 사용했고, 경로로부터 패치 (patch) 를 생성하기 위해 PathPatch를 사용했습니다. 마지막으로, 복합 경로를 표시하기 위해 패치를 플롯에 추가했습니다.