การสร้างกราฟโต้ตอบเลื่อนได้ด้วยปุ่มลูกศร
ใช้ event handling 'key_press_event' เพื่อควบคุมการเลื่อนกราฟซ้าย-ขวา
ขั้นตอนหลัก
- ตั้งค่าขนาดรูปและ padding
- สร้างข้อมูล curr_pos และ y ด้วย numpy
- สร้าง figure และเชื่อมต่อ event 'key_press_event'
- เพิ่ม axes และพล็อตข้อมูลเริ่มต้น
- ในฟังก์ชัน callback: อัปเดต curr_pos ตามปุ่มลูกศร, ล้าง axes, พล็อตใหม่, redraw canvas
- แสดงผลด้วย show()
ตัวอย่างโค้ด
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
curr_pos = np.linspace(-10, 10, 100)
y = np.sin(curr_pos)
def key_event(e):
global curr_pos
if e.key == "right":
curr_pos = curr_pos + 1
else:
curr_pos = curr_pos - 1
ax.cla()
ax.plot(curr_pos, np.sin(curr_pos))
fig.canvas.draw()
fig = plt.figure()
fig.canvas.mpl_connect('key_press_event', key_event)
ax = fig.add_subplot(111)
ax.plot(curr_pos, y)
plt.show()
วิธีใช้
กดปุ่มลูกศรซ้าย/ขวาเพื่อเลื่อนกราฟถอยหลัง/ไปข้างหน้า