เพื่อหยุดชั่วคราวรูป Pylab จนกว่าจะกดปุ่มหรือคลิกเมาส์ ให้ใช้คีย์อีเวนต์ "button_press_event"
ขั้นตอน
- กำหนดขนาดรูปและปรับระยะห่างระหว่างและรอบซับพล็อต
- ตั้งค่าแบ็กเอนด์ "TkAgg"
- เปิดโหมดโต้ตอบ (interactive mode) ON
- สร้างรูปใหม่หรือเปิดใช้งานรูปที่มีอยู่
- สร้างตัวแปร pause=False
- เมื่อเกิด "button_press_event" ให้หยุดรูป
- ผูกฟังก์ชันกับอีเวนต์
- สร้าง data, x และ y ด้วย NumPy
- วนลูป True เปลี่ยนเส้นพล็อตและสี
- ใช้ 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()ผลลัพธ์

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