Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Truyền tham số cho on_key trong fig.canvas.mpl_connect Matplotlib

Để truyền tham số cho hàm xử lý sự kiện phím on_key khi dùng fig.canvas.mpl_connect('key_press_event', on_key), ta định nghĩa hàm nhận đối số event chứa thông tin phím và tọa độ chuột.

Các bước

  • Thiết lập figure size và autolayout.
  • Tạo figure, axes và đặt giới hạn xlim, ylim.
  • Định nghĩa onkey(event): kiểm tra event.key.isalpha() và event.xdata/ydata.
  • Vẽ điểm tại vị trí chuột khi nhấn phím chữ.
  • Kết nối sự kiện: cid = fig.canvas.mpl_connect('key_press_event', onkey).
  • Hiển thị bằng show().

Ví dụ

import matplotlib.pyplot as plt

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

fig, ax = plt.subplots()
ax.set_xlim(0, 10)
ax.set_ylim(0, 10)
def onkey(event):
    if event.key.isalpha():
        if event.xdata is not None and event.ydata is not None:
            ax.plot(event.xdata, event.ydata, 'bo-')
            fig.canvas.draw()
cid2 = fig.canvas.mpl_connect('key_press_event', onkey)
plt.show()

Kết quả

Truyền tham số cho on_key trong fig.canvas.mpl_connect Matplotlib