www.gusucode.com > EasyKrig_V3.0工具箱matlab源码程序 > EasyKrig_V3.0/variogram/plotvariogram2d3dfig.m

    function 	plotvariogram2d3dfig(opt)
%% function plotvariogram2d3dfig(opt) establishes a GUI configuration for
%% displaying 2D/3D semi-variogram/correlogram.
% opt = 1	:   initial or re-plot with a new set of variogram/correlogram
%     = 2   :   replot selected 
%%
%%  Kriging Software Package  version 3.0,   May 1, 2004
%%  Copyright (c) 1999, 2001, 2004, property of Dezhang Chu and Woods Hole Oceanographic
%%  Institution.  All Rights Reserved.

global para hdl data color

grey=color.grey;
dark_grey=color.dark_grey;
blue=color.blue;

if ~isempty(findobj('type','figure','Tag','DisplayVario2D3D')) 
   figure(hdl.dispvario2d3d.h0);
else
%% create 2-D semi-variogram/correlogram window
hdl.dispvario2d3d.h0 = figure('Units','normalized', ...
	'Color',[0.8 0.8 0.8], ...
	'Name','Display 2D/3D Variogram/Correlogram', ...
	'Position',hdl.window_position, ...
   'Tag','DisplayVario2D3D');
   if 0
      set(0, 'showhidden', 'on');
      ch=get(gcf, 'children');
		get(ch(2:length(ch)), 'label');
		delete(ch(2));
	%	delete(ch(4));
	%	delete(ch(5));
	%	delete(ch(6));
	end
if 1
      set(0, 'showhidden', 'on')
      ch=get(gcf, 'children');
%	delete(ch(3))								%Tools
   wmhdl=findobj(ch,'Label','&Tools');		
   delete(wmhdl);
   ch(find(ch == wmhdl))=[];
%     new feature in V6.x delete(ch(6))			%Edit
   wmhdl=findobj(ch,'Label','&Edit');		
   delete(wmhdl);
   ch(find(ch == wmhdl))=[];
%      new feature in V6.x                      %insert
   wmhdl=findobj(ch,'Label','&Insert');		
   delete(wmhdl);
   ch(find(ch == wmhdl))=[];
%      new feature in V6.x                      %View
   wmhdl=findobj(ch,'Label','&View');		
   delete(wmhdl);
   ch(find(ch == wmhdl))=[];	
%      new feature of V7.0                      
   wmhdl=findobj(ch,'Label','&Desktop');	    %Desktop
   if ~isempty(wmhdl)
     delete(wmhdl);
     ch(find(ch == wmhdl))=[];
   end
end
Filehdl=findobj(ch,'Label','&File');
ch_file=get(Filehdl,'children');
%% ch_file   1  '&Print...'
%            2  'Print Pre&view...'
%            3  'Print Set&up...'
%            4  'Pa&ge Setup...'
%            5  'Pre&ferences...'
%            6  '&Export...'
%            7  'Save &As...'
%            8  '&Save'
%            9  '&Close'
%           10  '&Open...'
%           11  '&New Figure'
set(findobj(ch_file(1:end),'Label','&Open...'),'Label','&Load','callback','file_browser3d(2,2);')
%delete(ch_file([11 8 7 6 5]));

hdl_quit=uimenu(hdl.dispvario2d3d.h0,'label','Quit','Callback','close_window(5)','separator','on');

hdl.dispvario2d3d.axes1 = axes('Parent',hdl.dispvario2d3d.h0, ...
	'Color',[1 1 1], ...
	'Position',[0.15 0.4 0.6 0.5], ...
   'Tag','variogramAxes2');

%%% zdir
x0z=0.65;y0z=0.7;Lslider=0.15;
dx=0.06;
Ltext=0.1;
Ly=0.04;Lx=0.1;
Lradio=0.08;
EPS=0.001;

if para.status.variogramfig  == 1
   xstep=1/para.vario.nazm;
   zstep=1/para.vario.ndip;
else
   xstep=0.05;
   zstep=0.05;
end


%%% slice variation
x0x=0.3;y0x=0.25;Lslider=0.12;
dy=0.06;
Lradio=0.13;
Lx=0.08;Ly=0.05;
Ltext=Lx+Lslider;

if para.vario.dim == 3 & para.vario.nazm > 1 
%%% azimuth
hdl.dispvario2d3d.azm_radio = uicontrol('Parent',hdl.dispvario2d3d.h0, ...
	'Units','normalized', ...
	'BackgroundColor',dark_grey, ...
	'Callback','radio_action_vario2d3d(1)', ...
	'HorizontalAlignment','center', ...
	'FontWeight','bold', ...
	'Position',[x0x y0x+0.003 Ltext Ly-0.01], ...
	'String','Azimuth Angle', ...
	'value',0, ...
   'Style','radio');
hdl.dispvario2d3d.azm_val = uicontrol('Parent',hdl.dispvario2d3d.h0, ...
	'Units','normalized', ...
	'BackgroundColor',[1 1 1], ...
	'FontWeight','bold', ...
	'Position',[x0x y0x-dy Lx Ly ], ...
	'Style','edit');
hdl.dispvario2d3d.azm_slider = uicontrol('Parent',hdl.dispvario2d3d.h0, ...
	'Units','normalized', ...
	'BackgroundColor',dark_grey, ...
	'Callback','plotvariogram2d3d(2)', ...
	'SliderStep',[xstep-EPS xstep+EPS], ...
	'Position',[x0x+Lx y0x-dy Lslider Ly ], ...
	'Style','slider');
end

if para.vario.dim == 3 & para.vario.ndip > 1 

%% dip 
hdl.dispvario2d3d.dip_radio = uicontrol('Parent',hdl.dispvario2d3d.h0, ...
	'Units','normalized', ...
	'BackgroundColor',dark_grey, ...
	'Callback','radio_action_vario2d3d(2)', ...
	'HorizontalAlignment','center', ...
	'FontWeight','bold', ...
	'Position',[x0z y0z+Ly Lx+Ly Ly-0.01], ...
	'String','Dip Angle', ...
	'value',1, ...
   'Style','radio');
hdl.dispvario2d3d.dip_val = uicontrol('Parent',hdl.dispvario2d3d.h0, ...
	'Units','normalized', ...
	'BackgroundColor',[1 1 1], ...
	'FontWeight','bold', ...
	'Position',[x0z y0z Lx+0.015 Ly ], ...
	'Style','edit');
hdl.dispvario2d3d.dip_slider = uicontrol('Parent',hdl.dispvario2d3d.h0, ...
	'Units','normalized', ...
	'BackgroundColor',dark_grey, ...
	'Callback','plotvariogram2d3d(3)', ...
	'SliderStep',[zstep-EPS zstep+EPS], ...
	'Position',[x0z+Lx+0.015 y0z-Ly-0.02 Ly-0.015 Lslider], ...
	'Style','slider');
end

%% color scale adjustment
x0cs=0.82;
y0cs1=0.75;
y0cs2=0.40;
Lycs=0.025;
hdl.dispvario2d3d.cbar_slider_top = uicontrol('Parent',hdl.dispvario2d3d.h0, ...
	'Units','normalized', ...
	'BackgroundColor',dark_grey, ...
	'Callback','plotvariogram2d3d(4)', ...
	'SliderStep',[0.01-EPS 0.01+EPS], ...
	'Position',[x0cs y0cs1 Lycs Lslider], ...
	'Style','slider','value',1.0);
hdl.dispvario2d3d.cbar_slider_bot = uicontrol('Parent',hdl.dispvario2d3d.h0, ...
	'Units','normalized', ...
	'BackgroundColor',dark_grey, ...
	'Callback','plotvariogram2d3d(4)', ...
	'SliderStep',[0.01-EPS 0.01+EPS], ...
	'Position',[x0cs y0cs2 Lycs Lslider], ...
	'Style','slider','value',0);


%%	shading
hdl.dispvario2d3d.shading_index=1;
Lradio=0.12;
Ly=0.04;
x0=0.63;
y0=0.3;
dy=0.05;
h1 = uicontrol('Parent',hdl.dispvario2d3d.h0, ...
	'Units','normalized', ...
	'BackgroundColor',dark_grey, ...
	'HorizontalAlignment','center', ...
	'FontWeight','bold', ...
	'Position',[x0 y0 Lradio Ly], ...
	'String','Shading', ...
	'Style','text');
hdl.dispvario2d3d.shading_radio1 = uicontrol('Parent',hdl.dispvario2d3d.h0, ...
	'Units','normalized', ...
	'Callback','radio_action_vario2d3d(3)', ...
	'String','Faceted', ...
	'Position',[x0 y0-dy Lradio Ly], ...
   'value',0, ...
	'Style','radio');
hdl.dispvario2d3d.shading_radio2 = uicontrol('Parent',hdl.dispvario2d3d.h0, ...
	'Units','normalized', ...
	'Callback','radio_action_vario2d3d(4)', ...
	'String','Flat', ...
	'Position',[x0 y0-2*dy Lradio Ly], ...
	'Style','radio');
hdl.dispvario2d3d.shading_radio3 = uicontrol('Parent',hdl.dispvario2d3d.h0, ...
	'Units','normalized', ...
	'Callback','radio_action_vario2d3d(5)', ...
	'String','Interp', ...
   'value',1, ...
	'Position',[x0 y0-3*dy Lradio Ly], ...
	'Style','radio');

%% Push button
h1 = uicontrol('Parent',hdl.dispvario2d3d.h0, ...
	'Units','normalized', ...
	'Callback','close_window(5)', ...
	'FontSize',10, ...
	'FontWeight','bold', ...
	'Position',[0.82 0.08 0.10 0.05], ...
	'String','Quit');

axis square
hdl.dispvario2d3d.colorbar2=colorbar;
set(hdl.dispvario2d3d.colorbar2,'Position',[0.85 0.4 0.045 0.5]);
%set(hdl.dispvario2d3d.colorbar2,'visible','off');
%set(get(hdl.dispvario2d3d.colorbar2,'children'),'visible','off');
hdl.status.dispvario2d3d=1;
   
end