Matlab指南:当用户点击时如何分散?

时间:2014-01-30 15:49:32

标签: matlab click matlab-guide scatter

我想对新GUIDE项目的'axes1'部分进行编程,以便在用户点击它时分散轴内的点。

我是GUIDE的新手,我不完全了解hObjec,句柄等是如何工作的。到目前为止,我从其他帖子收集到的是以下代码:

% --- Executes on mouse press over axes background.

function axes1_ButtonDownFcn(hObject, eventdata, handles)
% hObject    handle to axes1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
%axesHandle  = get(hObject,'Parent');
coordinates = get(hObject,'CurrentPoint'); 
coordinates = coordinates(1,1:2);
scatter(coordinates(1),coordinates(2));

我没有使用'get(hObject,'Parent')'部分,因为在你使用图像在轴上显示的情况下使用了它,而这不是我的情况。

有人可以解释我该怎么办?

提前感谢您的时间

1 个答案:

答案 0 :(得分:0)

我几个月前解决了,但我没有发布解决方案!

这比我想象的要容易,我只需要将每个鼠标按下(x, y)点,然后使用plot

% ND = Nodes in the network
ND = zeros(N,2);
ND(1,:) = ginput(1);
plot(ND(1,1),ND(1,2),'ko','MarkerSize',12);
hold on;
for i=2:N
    ND(i,:) = ginput(1);
    plot(ND(i,1),ND(i,2),'ko','MarkerSize',12);
end