Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Matplotlib에서 마우스 릴리스 이벤트 좌표 표시하는 방법

Matplotlib를 사용하면 마우스 버튼을 놓을 때(릴리스 이벤트)의 좌표를 쉽게 확인할 수 있습니다. 마우스 릴리스 이벤트의 좌표를 화면에 출력하려면 다음 단계를 따르면 됩니다.

구현 단계

  • 그림(figure) 크기를 설정하고 서브플롯 주변 및 사이의 여백(padding)을 조정합니다.
  • figure 객체와 서브플롯 집합을 생성합니다.
  • 0부터 10까지의 범위로 선 그래프를 그립니다.
  • onclick 함수를 button_release_event 이벤트에 바인딩합니다.
  • 이벤트 정보와 함께 x, y 데이터를 출력합니다.
  • show() 메서드를 사용하여 figure를 화면에 표시합니다.

예제 코드

from matplotlib import pyplot as plt
plt.rcParams['backend'] = 'TkAgg'
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

def onclick(event):
    print(event.button, event.xdata, event.ydata)

fig, ax = plt.subplots()
ax.plot(range(10))
fig.canvas.mpl_connect('button_release_event', onclick)
plt.show()

실행 결과

코드를 실행한 후 그래프 위에서 마우스 왼쪽 버튼을 클릭하고 놓으면, 콘솔에 아래와 같이 눌렀던 버튼 종류와 해당 지점의 x, y 좌표가 순서대로 출력됩니다.

MouseButton.LEFT 4.961566107601828 1.6644009000562534
MouseButton.LEFT 6.782345894140708 3.7026907931745727
MouseButton.LEFT 2.98552602918754 7.177807987999249

코드 설명

mpl_connect 메서드는 Matplotlib 캔버스에서 발생하는 다양한 이벤트를 사용자 정의 함수와 연결해 주는 역할을 합니다. 여기서는 'button_release_event', 즉 마우스 버튼을 놓는 순간 발생하는 이벤트에 onclick 함수를 연결했습니다. 이벤트 객체에는 event.button(눌린 버튼 종류), event.xdata(데이터 좌표계 기준 x값), event.ydata(데이터 좌표계 기준 y값) 등 유용한 정보가 담겨 있어, 인터랙티브한 데이터 시각화 도구를 만들 때 활용할 수 있습니다.