⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 display_cursor_location_2d.m

📁 实现地震勘探中
💻 M
字号:
function display_cursor_location_2d(hObject,evdata)   %#ok% GUI tool (button_handle is not required)% To invoke:%    set(gcf,'WindowButtonMotion',@display_cursor_location_2d)figure_handle=hObject;axis_handle=gca;drawnow        % Update axes to get the correct limitsuserdata=getappdata(axis_handle,'userdata_2d_tracking');if isempty(userdata)   returnendif ~strcmp(userdata.tag,'display_cursor_location_2d')   returnendif isempty(get(figure_handle,'WindowButtonMotion'))   bh=findobj(figure_handle,'Tag',['tracking_button',num2str(figure_handle)]);   userdata=get(bh,'UserData');   userdata.on_off='off';   set(bh,'Label','Tracking is off','UserData',userdata);   returnendpos=get(axis_handle,'CurrentPoint');xlimits=get(axis_handle,'XLim');ylimits=get(axis_handle,'YLim');if isempty(get(figure_handle,'WindowButtonMotion'))   return%   set(gcf,'WindowButtonMotion',@display_cursor_location_2d);endx=pos(1,1);y=pos(1,2);%	Cursor is inside the axes boxif x >= xlimits(1) && x <= xlimits(2) && ...   y >= ylimits(1) && y <= ylimits(2)      %    Are there discrete x coordinates and or y-coordinates   if isfield(userdata,'xcoord')  && ~isempty(userdata.xcoord)      distx=(x-userdata.xcoord).^2;      [dummy,idx]=min(distx);      x=userdata.xcoord(idx);   end   if isfield(userdata,'ycoord')  && ~isempty(userdata.ycoord)      disty=(y-userdata.ycoord).^2;      [dummy,idx]=min(disty);      y=userdata.ycoord(idx);   end     data2show=['  ',userdata.xname,': ',sprintf(userdata.xformat,x),' ',userdata.xunits,';  ',...              userdata.yname,': ',sprintf(userdata.yformat,y),' ',userdata.yunits];	    set(figure_handle,'Pointer','crosshair')   userdata.hh=uicontrol('Units','pix','pos',userdata.position,'Style','text',...	'String',data2show,'Horiz','left','BackgroundColor',userdata.bgcolor,...	'ForegroundColor',[0 0 0],'Tag','cursor_tracking_data','Userdata',[]);%   set(axis_handle,'UserData',userdata);   setappdata(axis_handle,'userdata_2d_tracking',userdata)   if isempty(get(figure_handle,'WindowButtonMotion'))      return%      set(gcf,'WindowButtonMotion',@display_cursor_location_2d);   endelse	% Cursor is outside of the axes box   if isfield(userdata,'pointer')      set(figure_handle,'Pointer',userdata.pointer);	% Save presently used pointer type   else      userdata.pointer=get(figure_handle,'Pointer');    % Restore original pointer%      hh=findobj(figure_handle,'Tag','cursor_tracking_data');    % Find and remove the display      try         delete(userdata.hh)                                          % of the cursor tracking data      catch  %#ok%      keyboard      end      setappdata(axis_handle,'userdata_2d_tracking',userdata) %     set(axis_handle,'UserData',userdata);   end   if isfield(userdata,'hh')      if ishandle(userdata.hh)         set(userdata.hh,'ForegroundColor',get(figure_handle,'Color'))      end   end enddrawnow

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -