Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

키를 누르거나 마우스를 클릭할 때까지 pylab 그림을 일시 중지하는 방법은 무엇입니까? (매트플롯립)

<시간/>

마우스가 클릭될 때까지 pylab 그림을 일시 중지하려면 "button_press_event"를 사용할 수 있습니다. 주요 이벤트.

단계

  • 그림 크기를 설정하고 서브플롯 사이 및 주변 여백을 조정합니다.
  • "TkAgg" 설정 배경.
  • 대화형 모드를 켭니다.
  • 새 그림을 만들거나 기존 그림을 활성화합니다.
  • 변수를 pause=False로 만듭니다.
  • 언제든지 "button_press_event" , 그림을 일시 중지합니다.
  • 함수를 이벤트에 바인딩합니다.
  • 데이터 생성 xy numpy를 사용한 데이터 포인트
  • 반복 루프를 사용하여 플롯 라인과 색상을 변경합니다.
  • 그림을 표시하려면 show()를 사용하세요. 방법.

예시

import matplotlib
from matplotlib import pyplot as plt
import numpy as np

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

matplotlib.use("TkAgg")

plt.ion()

fig = plt.figure()

pause = False

def onclick(event):
   global pause
   pause = not pause

fig.canvas.mpl_connect('button_press_event', onclick)

data = np.linspace(-10, 10, 100)

x = np.sin(data)
y = np.cos(data)

flag = 1

while True:
   if not pause:
      if flag == 1:
         fig.clear()
         plt.plot(data, y, color='red')
         flag = 0
      else:
         fig.clear()
         plt.plot(data, x, color='yellow')
         flag = 1
   fig.canvas.get_tk_widget().update()

출력

키를 누르거나 마우스를 클릭할 때까지 pylab 그림을 일시 중지하는 방법은 무엇입니까? (매트플롯립)

마우스 버튼을 클릭할 때까지 사인파와 코사인파가 번갈아 노란색과 빨간색으로 표시됩니다. 마우스 버튼 중 하나를 클릭하면 그림이 일시 중지됩니다.