matlab:通过单击选择绘图点的界面

时间:2012-07-22 11:35:16

标签: matlab user-interface click point

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

1 个答案:

答案 0 :(得分:1)

据我所知,没有简单的方法可以实现这一目标。 您可以执行以下操作之一:

  1. 检查距离并选择最近的点(正如您自己所说)
  2. 调用绘图命令N次,并为每个绘图分配不同的回调。
  3. 在这种情况下,您可以通过以下方式创建图形:

       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命令。