我正在尝试在 MATLAB 中ButtonDownFcn
的图形上使用 。imagesc
我想通过单击我在工具栏上创建的自定义按钮来启用此功能。
将ButtonDownFcn
调用方法,使其返回使用 选择的像素的位置ButtonDownFcn
,以便我可以绘制该像素如何随时间变化的图形。
注意:
- 我在 matlab 中使用 GUIDE
-imagesc
正在绘制一个 3D 矩阵。我已经实现了允许我使用在 GUIDE 中创建的按钮浏览图像如何随时间变化的代码。
目前,我正在努力解决的ButtonDownFcn
是imagesc
. 我一遍又一遍地阅读如何做到这一点(通过互联网上的研究),但我似乎无法让它发挥作用。
任何帮助表示赞赏。
这是我的代码:
% --------------------------------------------------------------------
function ui_throughTime_ClickedCallback(hObject, eventdata, handles)
% hObject handle to ui_throughTime (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
valS = get(handles.txt_zaxis,'string');
display(valS);
val = str2num(valS);
d = handles.data;
m = imagesc(d(:,:,val),'parent',handles.axis, 'HitTest', 'off','buttondownfcn',{@getPlace, handles});
set(handles.axis,'buttondownfcn',{@getPlace, handles,m});
function getPlace(hObject,handles,event_obj,place)
% data = randn(120,160);
% ax = axes;
% imagesc(data,);
if (gcf == place)
pause(1);
cursor = get(handles.axis,'CurrentPoint'); % get point
% Get X and Y from point last clicked on the axes
x = (cursor(1,1));
y = (cursor(1,2));
disp(['x = ' num2str(x) ' y = ' num2str(y)]);
end