소개
Matplotlib 는 Python 에서 강력한 데이터 시각화 라이브러리입니다. 이 라이브러리는 멋진 그래픽과 차트를 생성하기 위한 다양한 시각화 도구를 제공합니다. 이 랩에서는 서로 다른 좌표계 및/또는 축에서 정의된 점들 사이를 연결하는 데 사용되는 ConnectionPatch 에 대해 배우겠습니다.
VM 팁
VM 시작이 완료되면, 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 접근하십시오.
때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한 사항으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.
학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.
필요한 라이브러리 가져오기
시작하기 전에 필요한 라이브러리를 가져오겠습니다.
import matplotlib.pyplot as plt
from matplotlib.patches import ConnectionPatch
플롯 생성
다음으로, 두 개의 서브플롯 (subplots) 을 사용하여 플롯을 생성해 보겠습니다.
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(6, 3))
간단한 화살표 그리기
이제 단일 축 내에서 축 좌표 (axes coordinates) 의 두 점 사이에 간단한 화살표를 그려보겠습니다.
xyA = (0.2, 0.2)
xyB = (0.8, 0.8)
coordsA = "data"
coordsB = "data"
con = ConnectionPatch(xyA, xyB, coordsA, coordsB,
arrowstyle="-|>", shrinkA=5, shrinkB=5,
mutation_scale=20, fc="w")
ax1.plot([xyA[0], xyB[0]], [xyA[1], xyB[1]], "o")
ax1.add_artist(con)
다른 축 사이의 화살표 그리기
데이터 좌표 (data coordinates) 에서 동일한 점이지만 다른 축 사이의 화살표를 그려보겠습니다.
xy = (0.3, 0.2)
con = ConnectionPatch(
xyA=xy, coordsA=ax2.transData,
xyB=xy, coordsB=ax1.transData,
arrowstyle="->", shrinkB=5)
fig.add_artist(con)
다른 점들 사이의 선 그리기
마지막으로, 서로 다른 좌표계 (coordinate systems) 에서 정의된 서로 다른 점들 사이의 선을 그려보겠습니다.
con = ConnectionPatch(
## in axes coordinates
xyA=(0.6, 1.0), coordsA=ax2.transAxes,
## x in axes coordinates, y in data coordinates
xyB=(0.0, 0.2), coordsB=ax2.get_yaxis_transform(),
arrowstyle="-")
ax2.add_artist(con)
요약
이 랩 (lab) 에서는 서로 다른 좌표계 (coordinate systems) 및/또는 축에서 정의된 점들 사이의 선을 그리는 데 사용되는 ConnectionPatch 에 대해 배웠습니다. 또한 플롯 (plot) 에서 서로 다른 점들 사이의 간단한 화살표와 선을 그리는 방법도 배웠습니다.