소개
이 랩에서는 Matplotlib 에서 앵커된 방향 화살표를 만드는 방법을 배웁니다. 앵커된 방향 화살표는 특정 방향을 가리키며 플롯에 앵커된 화살표입니다. 이러한 화살표는 플롯에서 특정 방향 또는 방향을 나타내는 데 유용합니다. 간단한 화살표뿐만 아니라 고대비 및 회전된 화살표를 만드는 방법을 배웁니다.
VM 팁
VM 시작이 완료되면 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 액세스하십시오.
때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한 사항으로 인해 작업의 유효성 검사는 자동화할 수 없습니다.
학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.
필요한 라이브러리 가져오기
먼저 Matplotlib, NumPy, Matplotlib 폰트 관리자, 그리고 mpl_toolkits.axes_grid1 에서 AnchoredDirectionArrows 와 같은 필요한 라이브러리를 가져와야 합니다. 이러한 라이브러리를 사용하여 앵커된 방향 화살표를 만들 것입니다.
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.font_manager as fm
from mpl_toolkits.axes_grid1.anchored_artists import AnchoredDirectionArrows
플롯 생성
다음으로, NumPy 를 사용하여 간단한 플롯을 생성합니다. 이 플롯은 앵커된 방향 화살표의 배경 역할을 합니다.
## Fixing random state for reproducibility
np.random.seed(19680801)
fig, ax = plt.subplots()
ax.imshow(np.random.random((10, 10)))
간단한 화살표 생성
이제 AnchoredDirectionArrows 클래스를 사용하여 간단한 앵커된 방향 화살표를 생성합니다. 이 화살표는 플롯에서 X 및 Y 방향을 나타냅니다.
## Simple example
simple_arrow = AnchoredDirectionArrows(ax.transAxes, 'X', 'Y')
ax.add_artist(simple_arrow)
고대비 화살표 생성
다음으로, 고대비 앵커된 방향 화살표를 생성합니다. 이 화살표는 흰색 윤곽선과 검은색 채우기를 갖습니다.
high_contrast_part_1 = AnchoredDirectionArrows(
ax.transAxes,
'111', r'11$\overline{2}$',
loc='upper right',
arrow_props={'ec': 'w', 'fc': 'none', 'alpha': 1,
'lw': 2}
)
ax.add_artist(high_contrast_part_1)
high_contrast_part_2 = AnchoredDirectionArrows(
ax.transAxes,
'111', r'11$\overline{2}$',
loc='upper right',
arrow_props={'ec': 'none', 'fc': 'k'},
text_props={'ec': 'w', 'fc': 'k', 'lw': 0.4}
)
ax.add_artist(high_contrast_part_2)
회전된 화살표 생성
이 단계에서는 회전된 앵커된 방향 화살표를 생성합니다. 이 화살표는 30 도 회전하며 세리프 폰트를 갖습니다.
fontprops = fm.FontProperties(family='serif')
rotated_arrow = AnchoredDirectionArrows(
ax.transAxes,
'30', '120',
loc='center',
color='w',
angle=30,
fontproperties=fontprops
)
ax.add_artist(rotated_arrow)
화살표 방향 변경
이 단계에서는 서로 다른 방향을 가리키는 세 개의 앵커된 방향 화살표를 생성합니다. 이 화살표들은 서로 다른 길이와 종횡비를 갖습니다.
a1 = AnchoredDirectionArrows(
ax.transAxes, 'A', 'B', loc='lower center',
length=-0.15,
sep_x=0.03, sep_y=0.03,
color='r'
)
ax.add_artist(a1)
a2 = AnchoredDirectionArrows(
ax.transAxes, 'A', ' B', loc='lower left',
aspect_ratio=-1,
sep_x=0.01, sep_y=-0.02,
color='orange'
)
ax.add_artist(a2)
a3 = AnchoredDirectionArrows(
ax.transAxes, ' A', 'B', loc='lower right',
length=-0.15,
aspect_ratio=-1,
sep_y=-0.1, sep_x=0.04,
color='cyan'
)
ax.add_artist(a3)
플롯 표시
마지막으로, 모든 앵커된 방향 화살표가 있는 플롯을 표시합니다.
plt.show()
요약
이 랩에서는 Matplotlib 에서 앵커된 방향 화살표를 만드는 방법을 배웠습니다. 간단한 화살표뿐만 아니라 고대비 및 회전된 화살표도 만들었습니다. 또한 화살표 방향과 종횡비를 변경하는 방법도 배웠습니다. 앵커된 방향 화살표는 플롯에서 특정 방향 또는 방향을 나타내는 데 유용합니다.