不需要安装mplcursors,请给出代码
时间: 2024-10-25 21:15:07 浏览: 11
如果你不想使用`mplcursors`来处理鼠标点击事件,那么你可以使用matplotlib的内置`connect`函数直接监听鼠标事件。这里是一个基本的示例,不过请注意,由于matplotlib本身并不支持边标志算法填充,因此我们将简单地用不同颜色区分绘制和未绘制的状态:
```python
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots()
ax.set_title('Interactive Triangular Plot')
# 初始状态,无三角形
drawn = False
def onclick(event):
global drawn
if event.button == 1: # 左键点击
if not drawn:
# 添加第一个顶点并开始绘制
ax.scatter(event.xdata, event.ydata, color='red')
drawn = True
else:
# 添加新的顶点并连接前两个
ax.plot([prev_x, event.xdata], [prev_y, event.ydata], color='black')
prev_x, prev_y = event.xdata, event.ydata
elif event.button == 3: # 右键点击清除
ax.clear()
drawn = False
prev_x, prev_y = None, None
prev_x, prev_y = None, None # 预备存储上一次点击的位置
fig.canvas.mpl_connect('button_press_event', onclick)
plt.show()
#
阅读全文