Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีหยุดตัวเลข pylab ชั่วคราวจนกว่าจะกดปุ่มหรือเมาส์คลิก? (แมทพล็อตลิบ)


ในการหยุดฟิกเกอร์ pylab ชั่วคราวจนกว่าจะมีการคลิกคีย์ของเมาส์ เราสามารถใช้"button_press_event" เหตุการณ์สำคัญ

ขั้นตอน

  • กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย
  • ตั้งค่า "TkAgg" พื้นหลัง.
  • เปิดโหมดโต้ตอบ
  • สร้างตัวเลขใหม่หรือเปิดใช้งานตัวเลขที่มีอยู่
  • สร้างตัวแปร pause=False
  • เมื่อไรก็ตาม "button_press_event" , หยุดตัวเลขชั่วคราว
  • เชื่อมโยงฟังก์ชันกับเหตุการณ์
  • สร้าง ข้อมูล x และ จุดข้อมูลโดยใช้ตัวเลข
  • ย้ำจริง วนซ้ำเพื่อเปลี่ยนเส้นโครงเรื่องและสี
  • หากต้องการแสดงรูป ให้ใช้ 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 ชั่วคราวจนกว่าจะกดปุ่มหรือเมาส์คลิก? (แมทพล็อตลิบ)

คุณจะเห็นคลื่นไซน์และโคไซน์สลับกันเป็นสีเหลืองและสีแดง จนกว่าคุณจะคลิกปุ่มเมาส์ รูปภาพจะหยุดชั่วคราวหลังจากคลิกปุ่มเมาส์ปุ่มใดปุ่มหนึ่ง