Matplotlib PathPatch 객체 생성하기

Beginner

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

소개

Matplotlib 는 사용자가 다양한 유형의 차트와 그래프를 생성할 수 있도록 해주는 Python 라이브러리입니다. 데이터 시각화 및 데이터 분석에 사용됩니다. 이 랩에서는 Matplotlib 의 API 를 사용하여 PathPatch 객체를 생성하는 방법을 배우겠습니다.

VM 팁

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

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

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

라이브러리 임포트

이 랩에 필요한 라이브러리를 임포트해야 합니다.

import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import matplotlib.path as mpath

Path 데이터 정의

이 단계에서 Path 데이터를 정의합니다. Path 데이터는 경로의 정점 (vertices) 과 코드 (codes) 를 지정하는 튜플 시퀀스입니다. mpath.Path 클래스를 사용하여 이 데이터로부터 Path 객체를 생성합니다.

Path = mpath.Path
path_data = [
    (Path.MOVETO, (1.58, -2.57)),
    (Path.CURVE4, (0.35, -1.1)),
    (Path.CURVE4, (-1.75, 2.0)),
    (Path.CURVE4, (0.375, 2.0)),
    (Path.LINETO, (0.85, 1.15)),
    (Path.CURVE4, (2.2, 3.2)),
    (Path.CURVE4, (3, 0.05)),
    (Path.CURVE4, (2.0, -0.5)),
    (Path.CLOSEPOLY, (1.58, -2.57)),
    ]
codes, verts = zip(*path_data)
path = mpath.Path(verts, codes)

PathPatch 객체 생성

이 단계에서는 이전 단계에서 생성한 path 객체를 사용하여 PathPatch 객체를 생성합니다. 이 객체는 경로로 둘러싸인 영역을 채우는 데 사용됩니다. 패치의 색상과 투명도도 설정할 수 있습니다.

patch = mpatches.PathPatch(path, facecolor='r', alpha=0.5)

PathPatch 를 플롯에 추가

이제 axes 객체의 add_patch 메서드를 사용하여 패치 객체를 플롯에 추가합니다.

fig, ax = plt.subplots()
ax.add_patch(patch)

제어점 및 연결선 플롯

이 단계에서는 axes 객체의 plot 메서드를 사용하여 경로의 제어점 (control points) 과 연결선을 플롯합니다.

x, y = zip(*path.vertices)
line, = ax.plot(x, y, 'go-')

플롯 사용자 정의

마지막으로, 그리드를 추가하고 축을 동일하게 설정하여 플롯을 사용자 정의합니다.

ax.grid()
ax.axis('equal')
plt.show()

요약

이 랩에서는 Matplotlib 의 API 를 사용하여 PathPatch 객체를 생성하는 방법을 배웠습니다. 경로 데이터를 정의하고, Path 객체를 생성한 다음, 이를 사용하여 플롯에 추가할 PathPatch 객체를 만들었습니다. 또한 경로의 제어점 (control points) 과 연결선을 플롯하고, 그리드를 추가하고 축을 동일하게 설정하여 플롯을 사용자 정의했습니다.