1

我有一个2XN点向量。我想绘制它,然后使用户能够通过单击该点来选择其中一个点。我想我可以通过获取鼠标坐标并选择离它们最近的点等来自己完成。我想知道matlab是否提供了即插即用的方法来做到这一点?

4

1 回答 1

1

据我所知,没有简单的方法可以做到这一点。您可以执行以下操作之一:

  1. 检查距离并选择最近的点(正如你自己所说的)
  2. 调用绘图命令N时间,并为每个绘图分配不同的回调。

在这种情况下,您可以通过以下方式创建图形:

   for i=1:N 
      plot( X(i),Y(i), 'o', 'ButtonDownFcn', @(x)CallBack(x,i));
   end

回调看起来像这样:

   function CallBack(x,i)
       fprintf(1,'A callback on P[%d] was called');
   end

如果您想要2xN点的特殊情况:可拖动的多边形,您可以使用该impoly命令。

于 2012-07-22T11:42:05.993 回答