Matplotlib提供了一個事件處理系統,可以通過連接處理程序(callback)函數來處理交互事件。這些事件可以是鼠標點擊、移動或鍵盤按鍵等。
要處理交互事件,可以使用figure對象的canvas屬性來連接事件處理程序。可以通過canvas.mpl_connect()方法來連接特定事件和相應的處理程序函數。
例如,下面的代碼片段演示了如何連接鼠標點擊事件和相應的處理程序函數:
import matplotlib.pyplot as plt
def onclick(event):
print('button=%d, x=%d, y=%d, xdata=%f, ydata=%f' %
(event.button, event.x, event.y, event.xdata, event.ydata))
fig, ax = plt.subplots()
ax.plot([1, 2, 3, 4])
cid = fig.canvas.mpl_connect('button_press_event', onclick)
plt.show()
在這個例子中,onclick函數會在用戶點擊圖形時被調用,并打印出點擊的按鈕、鼠標位置和數據位置等信息。
常用的交互事件包括:
通過連接這些事件和相應的處理程序函數,可以為Matplotlib圖形添加交互功能。