소개
본 랩에서는 GridHelperCurveLinear 를 사용하여 그리드에 변환을 적용하여 사용자 정의 그리드와 눈금선을 정의하는 방법에 대한 단계별 가이드를 제공합니다. Python 의 Matplotlib 라이브러리를 사용하여 사용자 정의 그리드와 눈금선을 생성합니다.
VM 팁
VM 시작이 완료되면, 왼쪽 상단 모서리를 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 접속하십시오.
때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.
학습 중 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.
필요한 라이브러리 임포트
첫 번째 단계는 matplotlib.pyplot, numpy, ExtremeFinderSimple, MaxNLocator, 그리고 GridHelperCurveLinear를 포함한 필요한 라이브러리를 임포트하는 것입니다.
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.axisartist.axislines import Axes
from mpl_toolkits.axisartist.grid_finder import (ExtremeFinderSimple, MaxNLocator)
from mpl_toolkits.axisartist.grid_helper_curvelinear import GridHelperCurveLinear
변환 함수 정의
두 번째 단계는 변환 함수를 정의하는 것입니다. 이 예제에서는 x 축 값을 변환하고 y 축 값은 변경하지 않기 위해 tr 함수를 사용합니다. inv_tr 함수는 변환을 반전시키는 데 사용됩니다.
def tr(x, y):
return np.sign(x)*abs(x)**.5, y
def inv_tr(x, y):
return np.sign(x)*x**2, y
GridHelperCurveLinear 정의
세 번째 단계는 GridHelperCurveLinear 인스턴스를 정의하는 것입니다. 2 단계에서 정의한 변환 함수를 사용하여 그리드를 변환합니다. 또한 눈금 밀도를 높이기 위해 grid_locator1과 grid_locator2를 MaxNLocator(nbins=6)으로 설정합니다.
grid_helper = GridHelperCurveLinear(
(tr, inv_tr),
extreme_finder=ExtremeFinderSimple(20, 20),
grid_locator1=MaxNLocator(nbins=6), grid_locator2=MaxNLocator(nbins=6))
축 정의 및 이미지 표시
네 번째 단계는 3 단계에서 생성된 grid_helper 인스턴스를 사용하여 축을 정의하는 것입니다. 또한 imshow 함수를 사용하여 이미지를 표시합니다.
ax1 = fig.add_subplot(axes_class=Axes, grid_helper=grid_helper)
ax1.imshow(np.arange(25).reshape(5, 5), vmax=50, cmap=plt.cm.gray_r, origin="lower")
Figure 생성
마지막 단계는 plt.figure 함수를 사용하여 figure 를 생성하는 것입니다. figure 크기를 (7, 4) 로 설정하고 2-4 단계에서 생성된 curvelinear_test1 함수를 호출합니다.
if __name__ == "__main__":
fig = plt.figure(figsize=(7, 4))
curvelinear_test1(fig)
plt.show()
요약
이 랩에서는 GridHelperCurveLinear 를 사용하여 그리드에 변환을 적용하여 사용자 정의 그리드와 눈금선을 정의하는 방법을 배웠습니다. Python 의 Matplotlib 라이브러리를 사용하여 축에 표시된 5x5 행렬에 대한 사용자 정의 그리드와 눈금선을 생성했습니다.