如何在matlab中获取一个被点击的矩形的标记

时间:2013-11-19 11:39:35

标签: matlab graphics function-handle

我的图中有一组矩形。我用rect_tag索引标记它们,我想获得一个具有点击矩形标记的数组(或单元格数组)。 矩形由:

生成
for i_nf=1:nRects
    rect_tag = ['rectangle_num_' num2str(i_nf)];
    rectangle('Position', rectanglesMat(i_nf,:), 'Tag', rect_tag, 'ButtonDownFcn', {@add_rectangle});
end

如何定义add_rectangle函数来完成此任务?

1 个答案:

答案 0 :(得分:1)

谢谢,@ sebastian。有效。 为了将来参考,这是有效的:

function add_rectangle(src, event)
    a = get(src,'Tag')
   if evalin('base', 'exist(''tag_list'',''var'')')
      tag_list= evalin('base','tag_list');
   else 
      tag_list= {};
   end
   class(tag_list)
   tag_list{end+1} = {a}; % add the point
   assignin('base','tag_list',tag_list); % save to base
end