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

การเลื่อนดูกราฟ Matplotlib ถอยหลังและไปข้างหน้าด้วยปุ่มลูกศร

การสร้างกราฟโต้ตอบเลื่อนได้ด้วยปุ่มลูกศร

ใช้ 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()

วิธีใช้

กดปุ่มลูกศรซ้าย/ขวาเพื่อเลื่อนกราฟถอยหลัง/ไปข้างหน้า