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

📄 display_cursor_location4seismic.m

📁 基于Matlab的地震数据处理显示和测井数据显示于处理的小程序
💻 M
字号:
function display_cursor_location4seismic(hObject,evdata)
% GUI tool
% To invoke:
%    set(gcf,'WindowButtonMotion',@display_cursor_location4seismic)

drawnow        % Update axes to get the correct limits

axis_handle=gca;
% userdata=get(axis_handle,'UserData');
userdata=getappdata(axis_handle,'userdata_3d_tracking');
% keyboard
if isempty(userdata)
   return
end
%if ~strcmp(userdata.tag,'display_cursor_location_3d')
%   return
%end
if isempty(get(gcf,'WindowButtonMotion'))
   bh=findobj(gcf,'Tag',['tracking_button',num2str(gcf)]);
   userdata=get(bh,'UserData');
   userdata.on_off='off';
   set(bh,'Label','Tracking is off','UserData',userdata);
   return
end

pos=get(axis_handle,'CurrentPoint');
xlimits=get(axis_handle,'XLim');
ylimits=get(axis_handle,'YLim');

x=pos(1,1);
y=pos(1,2);
%xx=userdata.x;
%yy=userdata.y;

%	Cursor is inside the axes box
if x >= xlimits(1) & x <= xlimits(2) & ...
   y >= ylimits(1) & y <= ylimits(2)

%   data=userdata.data;
   [n,m]=size(userdata.data);
%   idx=find((xx(1:end-1)+xx(2:end))*0.5 > x);
%   if isempty(idx)
%      idx=m;
%   else
%      idx=idx(1);
%   end
%  idy=min(max(round((y-y(1))/userdata.step)+1,1),n);

   idx=min(max(round(x),1),m);
   idy=round((y-userdata.y(1))/userdata.step)+1;
   
%   idy=find((yy(1:end-1)+yy(2:end))*0.5 > y);
%   if isempty(idy)
%      idy=n;
%   else
%      idy=idy(1);
%   end
   x=userdata.x(idx);
   y=userdata.y(idy);
   z=userdata.data(idy,idx);
   data2show=['  ',userdata.xname,': ',sprintf(userdata.xformat,x),' ',userdata.xunits,';  ',...
              userdata.yname,': ',sprintf(userdata.yformat,y),' ',userdata.yunits,';  ' ...
              userdata.zname,': ',sprintf(userdata.zformat,z),' ',userdata.zunits];
	 
   set(gcf,'Pointer',userdata.userpointer)
   userdata.hh=uicontrol('Units','pix','pos',[0 0 500 25],'Style','text',...
	'String',data2show,'Horiz','left','BackgroundColor',get(gcf,'Color'),...
	'ForegroundColor',[0 0 0],'Tag','cursor_tracking_data','Userdata',[]);
   % set(axis_handle,'UserData',userdata);
   setappdata(axis_handle,'userdata_3d_tracking',userdata)

else	% Cursor is outside of the axes box
   if isfield(userdata,'pointer')
      set(gcf,'Pointer',userdata.pointer);	% Save presently used pointer type
   else
      userdata.pointer=get(gcf,'Pointer');      % Restore pointer
      setappdata(axis_handle,'userdata_3d_tracking',userdata)
      % set(axis_handle,'UserData',userdata);
   end
   if isfield(userdata,'hh')
      if ishandle(userdata.hh)
         set(userdata.hh,'ForegroundColor',get(gcf,'Color'))
      end
   end 
end

⌨️ 快捷键说明

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