matplotlib鼠标点击画框
时间: 2024-09-29 19:06:35 浏览: 23
在matplotlib库中,你可以使用`mpl_toolkits.axes_grid1`模块提供的交互功能,特别是`axes_grid1.InsetPosition`类,来实现在图表上通过鼠标点击动态添加画框。这个过程通常结合了`FigureManager`、`MouseButton`等组件。以下是一个简单的示例:
```python
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable
from matplotlib.widgets import Button
def on_press(event):
if event.inaxes is not None:
x, y = event.xdata, event.ydata
ax.text(x, y, f"Click at ({x}, {y})", color='red')
fig, ax = plt.subplots()
divider = make_axes_locatable(ax)
cax = divider.append_axes("right", size="5%", pad=0.05)
# 添加鼠标点击按钮
button = Button(ax, 'Click me')
button.on_clicked(on_press)
plt.show()
```
在这个例子中,当你在图表上点击时,会看到一个红色的文字标记显示你点击的位置,并且有一个名为“Click me”的按钮。每次点击都会触发`on_press`函数。
阅读全文