소개
이 랩에서는 Matplotlib 의 ContourSet 을 사용하여 사용자 정의 등고선과 다각형을 표시하는 방법을 안내합니다. 각 레벨에 대한 등고선은 다각형의 목록/튜플입니다. 두 레벨 사이의 채워진 등고선도 다각형의 목록/튜플입니다. 점은 시계 방향 또는 반시계 방향으로 정렬될 수 있습니다.
VM 팁
VM 시작이 완료되면 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 액세스하십시오.
때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한 사항으로 인해 작업의 유효성 검사는 자동화할 수 없습니다.
학습 중에 문제가 발생하면 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.
필요한 라이브러리 가져오기
첫 번째 단계는 필요한 라이브러리를 가져오는 것입니다. 이 랩에서는 Matplotlib 을 사용합니다.
import matplotlib.pyplot as plt
import matplotlib.cm as cm
from matplotlib.contour import ContourSet
from matplotlib.path import Path
등고선 및 다각형 정의
다음 단계는 등고선과 다각형을 정의하는 것입니다. 이 예제에서는 두 레벨 사이의 선과 채워진 등고선이 있습니다.
## 각 레벨에 대한 등고선은 다각형의 목록/튜플입니다.
lines0 = [[[0, 0], [0, 4]]]
lines1 = [[[2, 0], [1, 2], [1, 3]]]
lines2 = [[[3, 0], [3, 2]], [[3, 3], [3, 4]]] ## Note two lines.
## 두 레벨 사이의 채워진 등고선도 다각형의 목록/튜플입니다.
## 점은 시계 방향 또는 반시계 방향으로 정렬될 수 있습니다.
filled01 = [[[0, 0], [0, 4], [1, 3], [1, 2], [2, 0]]]
filled12 = [[[2, 0], [3, 0], [3, 2], [1, 3], [1, 2]], ## Note two polygons.
[[1, 4], [3, 4], [3, 3]]]
플롯 생성
다음 단계는 플롯을 생성하는 것입니다. 이는 ContourSet 함수를 사용하여 수행할 수 있습니다.
fig, ax = plt.subplots()
## filled=True 를 사용하여 채워진 등고선.
cs = ContourSet(ax, [0, 1, 2], [filled01, filled12], filled=True, cmap=cm.bone)
cbar = fig.colorbar(cs)
## 등고선 (채워지지 않음).
lines = ContourSet(
ax, [0, 1, 2], [lines0, lines1, lines2], cmap=cm.cool, linewidths=3)
cbar.add_lines(lines)
ax.set(xlim=(-0.5, 3.5), ylim=(-0.5, 4.5),
title='User-specified contours')
구멍이 있는 채워진 등고선 생성
Path 클래스에 설명된 대로, 여러 개의 채워진 등고선은 다각형 정점의 단일 목록과 정점 종류 (코드 유형) 의 목록과 함께 지정할 수 있습니다. 이는 특히 구멍이 있는 다각형에 유용합니다.
fig, ax = plt.subplots()
filled01 = [[[0, 0], [3, 0], [3, 3], [0, 3], [1, 1], [1, 2], [2, 2], [2, 1]]]
M = Path.MOVETO
L = Path.LINETO
kinds01 = [[M, L, L, L, M, L, L, L]]
cs = ContourSet(ax, [0, 1], [filled01], [kinds01], filled=True)
cbar = fig.colorbar(cs)
ax.set(xlim=(-0.5, 3.5), ylim=(-0.5, 3.5),
title='User specified filled contours with holes')
요약
이 랩에서는 Matplotlib 의 ContourSet을 사용하여 사용자 정의 등고선과 다각형을 표시하는 방법을 배웠습니다. 등고선과 다각형을 정의하고, 플롯을 생성했으며, 구멍이 있는 채워진 등고선을 생성했습니다.