소개
이 랩에서는 Matplotlib 의 offsetbox 및 mpl_toolkits.axes_grid1 에서 제공하는 앵커 헬퍼 클래스를 사용하는 방법을 배우게 됩니다. 이러한 클래스를 사용하여 텍스트 상자, 원 및 크기 표시줄이 포함된 그림을 만들 것입니다.
VM 팁
VM 시작이 완료되면 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 액세스하십시오.
때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사는 자동화할 수 없습니다.
학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.
라이브러리 임포트
시작하려면 Matplotlib 와 필요한 모듈을 임포트해야 합니다.
import matplotlib.pyplot as plt
from matplotlib.offsetbox import AnchoredText
from matplotlib.patches import Circle
from mpl_toolkits.axes_grid1.anchored_artists import AnchoredDrawingArea, AnchoredSizeBar
그림 생성
Matplotlib 의 subplots() 함수를 사용하여 그림과 축 객체를 생성합니다.
fig, ax = plt.subplots()
ax.set_aspect(1.)
텍스트 상자 추가
그림의 왼쪽 상단 모서리에 서로 다른 모서리로 고정된 두 개의 텍스트 상자를 그림에 추가합니다.
at = AnchoredText("Figure 1a",
loc='upper left', prop=dict(size=8), frameon=True,
)
at.patch.set_boxstyle("round,pad=0.,rounding_size=0.2")
ax.add_artist(at)
at2 = AnchoredText("Figure 1(b)",
loc='lower left', prop=dict(size=8), frameon=True,
bbox_to_anchor=(0., 1.),
bbox_transform=ax.transAxes
)
at2.patch.set_boxstyle("round,pad=0.,rounding_size=0.2")
ax.add_artist(at2)
원 그리기
축 좌표에서 원을 그립니다.
ada = AnchoredDrawingArea(20, 20, 0, 0,
loc='upper right', pad=0., frameon=False)
p = Circle((10, 10), 10)
ada.da.add_artist(p)
ax.add_artist(ada)
크기 막대 추가
데이터 좌표에서 길이가 0.1 인 수평 막대를 그리고, 그 아래에 고정된 레이블을 표시합니다.
asb = AnchoredSizeBar(ax.transData,
0.1,
r"1$^{\prime}$",
loc='lower center',
pad=0.1, borderpad=0.5, sep=5,
frameon=False)
ax.add_artist(asb)
그림 표시
Matplotlib 의 show() 함수를 사용하여 그림을 표시합니다.
plt.show()
요약
이 랩에서는 Matplotlib 의 offsetbox 및 mpl_toolkits.axes_grid1 에서 제공되는 고정 도우미 클래스를 사용하여 텍스트 상자, 원 및 크기 막대가 있는 그림을 만드는 방법을 배웠습니다. 이러한 클래스를 사용하여 그림에 유용한 주석과 그래픽을 추가할 수 있습니다.