0

我想创建一个绘图,其中包含对绘制的每个项目的侦听器。我真正想做的是创建一个 3D 箭袋图,每当我点击箭头的头部时,我想根据点击的箭头的 ID 创建另一个图。

这在 Matlab 中可能吗?

我愿意在其他编程语言中探索其他选项(易于实现)。

4

1 回答 1

0

图形句柄对象具有可用于此类事情的回调。

ButtonDownFcn — 在光标位于对象上方或对象周围 5 像素边框内单击鼠标左键时执行。

您还可以设置'UserData' 每个图形句柄对象的属性,在您的情况下给它一个 ID。

结合这两个概念来创建您想要的功能:

h = quiver(...); %# generate the graphics handle item;
set(h,'UserData',1,'ButtonDownFcn',@myCallback);

function myCallback(src,eventdata)
    clicked_item_id = get(src,'UserData'); %# get the ID of the clicked item
    figure; plot(data(ID)); %# obviously won't work as is, just for illustration
end 
于 2012-08-24T15:40:02.857 回答