在Matplotlib中使用鼠标单击事件或on_key 'delete'删除散点图中的选定点时,可以通过以下步骤解决问题:
plt.scatter()
函数创建散点图,并使用plt.connect()
函数将事件与回调函数关联起来。event.xdata
和event.ydata
获取鼠标单击事件的坐标,或使用event.key
获取键盘事件的键值。np.delete()
函数删除选定的点,或者将选定的点的坐标设置为NaN。plt.draw()
函数重新绘制图形。以下是一个示例代码,演示如何在Matplotlib中使用鼠标单击事件删除散点图中的选定点:
import numpy as np
import matplotlib.pyplot as plt
# 创建散点图
x = np.random.rand(100)
y = np.random.rand(100)
plt.scatter(x, y)
# 定义鼠标单击事件的回调函数
def on_click(event):
if event.button == 1: # 左键单击
# 获取鼠标单击事件的坐标
xdata = event.xdata
ydata = event.ydata
# 根据坐标删除选定的点
indices = np.where((x == xdata) & (y == ydata))[0]
x_new = np.delete(x, indices)
y_new = np.delete(y, indices)
# 重新绘制更新后的散点图
plt.clf()
plt.scatter(x_new, y_new)
plt.draw()
# 将鼠标单击事件与回调函数关联起来
plt.connect('button_press_event', on_click)
# 显示散点图
plt.show()
这是一个简单的示例,演示了如何使用鼠标单击事件删除散点图中的选定点。根据实际需求,你可以根据这个示例进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云