Matplotlib 如何在鼠标单击时显示一个点的坐标?
为了在matplotlib中创建一个自定义的鼠标指针,我们可以按照以下步骤进行操作。
步骤
- 设置图形大小,并调整子图间和周围的填充。
-
创建一个新图或激活现有图。
-
将函数 mouse_event 绑定到事件 button_press_event 。
-
使用numpy创建 x 和 y 数据点。
-
使用 plot() 方法绘制 x 和 y 数据点。
-
要显示图形,使用 Show() 方法。
示例
import numpy as np
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
def mouse_event(event):
print('x: {} and y: {}'.format(event.xdata, event.ydata))
fig = plt.figure()
cid = fig.canvas.mpl_connect('button_press_event', mouse_event)
x = np.linspace(-10, 10, 100)
y = np.sin(x)
plt.plot(x, y)
plt.show()
输出
它将生成以下输出 –
现在,单击绘图中的不同点,它会在控制台上显示它们的坐标。
x: -3.099305446290094和y: -0.013811108549791173
x: -0.2865652183685867和y: -0.2067543563498595
x: -3.0280968329249927和y: -0.1844916739113902
x: -5.7696284474814和y: 0.4240216460734405
x: -3.9182044999887626和y: 0.6837529411889172