Matplotlib 으로 데이터 커서 만들기

Beginner

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

소개

이 랩에서는 Python 프로그래밍 언어의 플로팅 라이브러리인 Matplotlib 을 사용하여 마우스 포인터에 가까운 플롯 포인트를 보여주는 텍스트 상자를 포함하는 데이터 커서를 만드는 방법을 배웁니다.

VM 팁

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

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

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

필요한 라이브러리 가져오기

Matplotlib 및 NumPy 라이브러리를 가져오는 것으로 시작합니다. NumPy 는 Python 에서 과학적 계산을 위한 기본 패키지이며, Matplotlib 은 출판 품질의 그림을 생성하는 플로팅 라이브러리입니다.

import matplotlib.pyplot as plt
import numpy as np

플롯 생성

NumPy 의 linspace 함수를 사용하여 x 에 대해 -5 와 5 사이의 1000 개의 값을 생성한 다음, y 를 x 의 제곱으로 계산하여 포물선의 간단한 플롯을 생성합니다.

fig, ax = plt.subplots(figsize=(8, 6))
ax.set_title("Cursor Tracking x Position")

x = np.linspace(-5, 5, 1000)
y = x**2

line, = ax.plot(x, y)
ax.set_xlim(-5, 5)
ax.set_ylim(0, 25)

AnnotatedCursor 클래스 생성

matplotlib.widgets.Cursor에서 상속받고 새로운 위젯과 해당 이벤트 콜백의 생성을 보여주는 새로운 클래스 AnnotatedCursor를 생성합니다. AnnotatedCursor 클래스는 현재 좌표를 표시하는 텍스트가 있는 십자형 커서를 생성하는 데 사용됩니다.

class AnnotatedCursor(Cursor):
    """
    A crosshair cursor like `~matplotlib.widgets.Cursor` with a text showing \
    the current coordinates.
    ...
    """

AnnotatedCursor 객체 초기화

플롯 라인인 lineAnnotatedCursor 생성자에 전달하여 AnnotatedCursor 객체를 초기화합니다.

cursor = AnnotatedCursor(line=line, ax=ax, useblit=True)

플롯 표시

Matplotlib pyplot 모듈의 show() 메서드를 사용하여 플롯을 표시합니다.

plt.show()

요약

이 랩에서는 Matplotlib 을 사용하여 마우스 포인터에 가까운 플롯 포인트를 보여주는 텍스트 상자를 포함하는 데이터 커서를 만드는 방법을 배웠습니다. 포물선의 간단한 플롯을 생성한 다음, AnnotatedCursor 객체를 생성하고 플롯을 표시했습니다.