Matplotlib ConnectionPatch 시각화

Beginner

This tutorial is from open-source community. Access the source code

소개

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) 에서 서로 다른 점들 사이의 간단한 화살표와 선을 그리는 방법도 배웠습니다.