Matplotlib 주석 쉽게 사용하기

Beginner

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

소개

이 랩에서는 Matplotlib 플롯에 주석을 추가하는 과정을 안내합니다. 주석은 특정 데이터 포인트를 강조하거나 시청자에게 추가 정보를 제공하는 데 도움이 됩니다. 주석에는 텍스트, 화살표 및 도형이 포함될 수 있습니다. 플롯에 주석을 추가하고, 사용자 정의하고, 위치를 지정하는 방법을 배우게 됩니다.

VM 팁

VM 시작이 완료되면, 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 접속하십시오.

때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한 사항으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.

학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.

Matplotlib 임포트

Matplotlib 을 사용하기 전에 먼저 임포트해야 합니다. 다음 코드는 Matplotlib 을 임포트하고 플로팅 함수를 사용할 수 있도록 합니다.

import matplotlib.pyplot as plt

플롯 생성

이제 주석을 추가할 플롯을 생성합니다. 다음 코드는 두 개의 데이터 포인트를 가진 플롯을 생성합니다.

fig, ax = plt.subplots()
x = [1, 2]
y = [3, 4]
ax.plot(x, y, "o")

텍스트 주석 추가

이제 플롯에 텍스트 주석을 추가합니다. 다음 코드는 첫 번째 데이터 포인트에 "Data Point 1" 텍스트를 추가합니다.

ax.annotate("Data Point 1", xy=(1, 3), xytext=(1.5, 3.5),
            arrowprops=dict(facecolor="black", shrink=0.05))

화살표 주석 추가

이제 플롯에 화살표 주석을 추가합니다. 다음 코드는 첫 번째 데이터 포인트에서 두 번째 데이터 포인트로 화살표를 추가합니다.

ax.annotate("", xy=(1, 3), xytext=(2, 4),
            arrowprops=dict(arrowstyle="->", connectionstyle="arc3"))

도형 주석 추가

이제 플롯에 도형 주석을 추가합니다. 다음 코드는 두 번째 데이터 포인트 주위에 사각형을 추가합니다.

bbox = dict(boxstyle="round", fc="0.8")
ax.annotate("Data Point 2", xy=(2, 4), xytext=(2.5, 4.5),
            bbox=bbox,
            arrowprops=dict(facecolor="black", shrink=0.05))

주석 사용자 정의

글꼴 크기, 글꼴 색상 및 화살표 스타일을 변경하여 주석을 사용자 정의할 수 있습니다. 다음 코드는 텍스트 주석의 글꼴 크기, 글꼴 색상 및 화살표 스타일을 변경합니다.

ax.annotate("Data Point 1", xy=(1, 3), xytext=(1.5, 3.5),
            arrowprops=dict(facecolor="black", shrink=0.05, arrowstyle="->"),
            fontsize=12, color="red")

주석 위치 지정

다양한 좌표계 (coordinate systems) 를 사용하여 주석의 위치를 지정할 수 있습니다. 다음 코드는 데이터 좌표 (data coordinates) 를 사용하여 텍스트 주석을 배치하고, 그림 좌표 (figure coordinates) 를 사용하여 화살표 주석을 배치합니다.

ax.annotate("Data Point 1", xy=(1, 3), xytext=(1.5, 3.5),
            arrowprops=dict(facecolor="black", shrink=0.05),
            xycoords="data", textcoords="data")
ax.annotate("", xy=(1, 3), xytext=(0.5, 0.5),
            arrowprops=dict(facecolor="black", shrink=0.05),
            xycoords="data", textcoords="figure fraction")

요약

이 랩 (lab) 에서는 Matplotlib 플롯 (plot) 에 주석 (annotation) 을 추가하는 방법을 배웠습니다. 텍스트, 화살표 및 도형 주석을 추가하고, 사용자 정의하며, 위치를 지정하는 방법을 배웠습니다. 주석은 특정 데이터 포인트를 강조 표시하거나 뷰어 (viewer) 에게 추가 정보를 제공하는 데 도움이 됩니다.