这里有一些代码希望对你有所帮助:
data = Table[{Random[], Random[]}, {100}];
DynamicModule[{p = {0.5, 0.5}, linePts = {}, p1 = {0., 0.},
pts = data},
Manipulate[
Graphics[{Dynamic[Point[pts]], Locator[Dynamic[p]],
Line[Dynamic[If[p != p1, AppendTo[linePts, p]; p1 = p];
linePts]]}],
Row[{Button["updata",
pts = Select[pts, ! Graphics`Mesh`InPolygonQ[linePts, #] &]],
Button["copy points", Print[Flatten[Position[data, #] & /@ pts]]],
Button["Reset", linePts = {}; pts = data;]}]]]
您可以在图中绘制一个区域,然后在图中将其删除。 “更新”按钮将显示剩余点,“复制点”将复制剩余点位置,“重置”将重置为原始图。