소개
이 랩은 Python 의 Matplotlib 라이브러리를 사용하여 이동 및 클릭 이벤트를 연결하여 플로팅 캔버스와 상호 작용하는 방법을 보여주는 예시입니다. Matplotlib 는 사용자가 Python 에서 정적, 애니메이션 및 대화형 시각화를 생성할 수 있도록 하는 데이터 시각화 라이브러리입니다.
VM 팁
VM 시작이 완료되면, 왼쪽 상단 모서리를 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 접근하십시오.
때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한 사항으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.
학습 중 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 즉시 문제를 해결해 드리겠습니다.
사인파 플롯 생성
먼저, numpy 와 matplotlib 라이브러리를 사용하여 사인파 플롯을 생성해야 합니다.
import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0.0, 1.0, 0.01)
s = np.sin(2 * np.pi * t)
fig, ax = plt.subplots()
ax.plot(t, s)
마우스 이동 이벤트
motion_notify_event 메서드를 사용하여 마우스 이동 이벤트에 연결할 수 있습니다. 이 예제에서는 마우스가 플롯 위로 이동할 때 x 및 y 데이터 좌표와 x 및 y 픽셀 좌표를 출력합니다.
def on_move(event):
if event.inaxes:
print(f'data coords {event.xdata} {event.ydata},',
f'pixel coords {event.x} {event.y}')
binding_id = plt.connect('motion_notify_event', on_move)
마우스 클릭 이벤트
button_press_event 메서드를 사용하여 마우스 클릭 이벤트에 연결할 수 있습니다. 이 예제에서는 왼쪽 마우스 버튼을 클릭하면 마우스 이동 이벤트 콜백을 연결 해제합니다.
from matplotlib.backend_bases import MouseButton
def on_click(event):
if event.button is MouseButton.LEFT:
print('disconnecting callback')
plt.disconnect(binding_id)
plt.connect('button_press_event', on_click)
플롯 표시
마지막으로, show 메서드를 사용하여 플롯을 표시해야 합니다.
plt.show()
요약
이 랩에서는 마우스 이동 및 클릭 이벤트를 사용하여 Matplotlib 플롯과 상호 작용하는 방법을 시연했습니다. 이러한 이벤트에 연결함으로써 마우스 포인터의 좌표를 출력하고, 콜백을 연결 해제하는 등 다양한 작업을 수행할 수 있습니다. 이 기술은 Python 에서 대화형 시각화를 만드는 데 유용할 수 있습니다.