首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在matplotlib中每次单击鼠标时绘制一个点

在matplotlib中,可以使用鼠标事件来实现在每次单击鼠标时绘制一个点的功能。具体步骤如下:

  1. 导入必要的库和模块:
代码语言:python
代码运行次数:0
复制
import matplotlib.pyplot as plt
  1. 创建一个图形窗口和坐标轴对象:
代码语言:python
代码运行次数:0
复制
fig, ax = plt.subplots()
  1. 定义一个空的点列表,用于存储每次单击鼠标时的点坐标:
代码语言:python
代码运行次数:0
复制
points = []
  1. 定义一个鼠标单击事件的回调函数,用于获取鼠标点击的坐标并绘制点:
代码语言:python
代码运行次数:0
复制
def onclick(event):
    if event.button == 1:  # 判断是否是鼠标左键单击事件
        x = event.xdata
        y = event.ydata
        points.append((x, y))  # 将点坐标添加到列表中
        ax.plot(x, y, 'ro')  # 绘制红色的点
        plt.draw()  # 更新图形

cid = fig.canvas.mpl_connect('button_press_event', onclick)  # 绑定鼠标单击事件
  1. 显示图形:
代码语言:python
代码运行次数:0
复制
plt.show()

完整的代码如下:

代码语言:python
代码运行次数:0
复制
import matplotlib.pyplot as plt

fig, ax = plt.subplots()
points = []

def onclick(event):
    if event.button == 1:
        x = event.xdata
        y = event.ydata
        points.append((x, y))
        ax.plot(x, y, 'ro')
        plt.draw()

cid = fig.canvas.mpl_connect('button_press_event', onclick)

plt.show()

这样,每次在图形窗口中单击鼠标左键时,都会在对应的位置绘制一个红色的点,并将点的坐标保存在points列表中。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券