Я хочу запрограммировать раздел «axes1» нового проекта GUIDE таким образом, чтобы он разбрасывал точки внутри осей, когда пользователь нажимал на них.
Я новичок в GUIDE и не совсем понимаю, как работают hObject, handles и т.д. То, что я собрал до сих пор из других сообщений, представляет собой следующий фрагмент кода:
% --- 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»)», потому что он использовался в случае, если вы используете изображение для отображения по осям, а это не мой случай.
Может кто-нибудь объяснить, как я могу это сделать?
Спасибо заранее за ваше время
axes1
hold on
? - person Notlikethat   schedule 31.01.2014ButtonDownFcn
дляaxes1
установлено в этой функции в GUIDE? Если оси прозрачны (Color == 'none'
), они не будут получать щелчки (они переходят к рисунку внизу). Точно так же, если вы нажмете, например. линия или изображение на осях, событие щелчка переходит к этому объекту, а не к самим осям. - person Notlikethat   schedule 01.02.2014% --- 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));
я не изменил его на прозрачность, можно ли сделать его прозрачным по умолчанию? - person alvaro.delaserna   schedule 01.02.2014