Global Index (all files) (short | long) | Local Index (files in subdir) (short | long)
hh = dc2(dat, colr, pn);
dc2(data, colr, pn); This function pcolors the NaN's of data
This function calls | |
---|---|
function hh = dc2(dat, colr, pn); dat = squeeze(dat); if nargin <= 1; colr = 0.35; end; if nargin <= 2; pn = 1; end; data = repmat(NaN, size(dat)); data(find(isnan(dat))) = 1; global XAX YAX FRAME if (size(YAX,1)==1); YAX = YAX'; end; if (size(XAX,1)==1); XAX = XAX'; end; %[xk, yk] = keep_var(FRAME, XAX, YAX); xk = 1:length(XAX); yk = 1:length(YAX); if (FRAME(2)-FRAME(1) == 360); data2 = [data(yk,:) data(yk,1:2)]; XAX2 = [XAX; (XAX(1:2)+360)]; YAX2 = YAX(yk); else data2 = data(yk,xk); XAX2 = XAX(xk); YAX2 = YAX(yk); end XAX2 = XAX2 - mean(diff(XAX2))/2; YAX2 = YAX2 - mean(diff(YAX2))/2; hold on; cax = newplot; hold_state = ishold; global FRAME COASTWIDTH COASTTYPE COASTGRID GRDX_SPACING GRDY_SPACING global USE_LANDMASK gridx = GRDX_SPACING; gridy = GRDY_SPACING; lgrd=':k'; xl=get(gca,'xlim'); yl=get(gca,'ylim'); x0=xl(1); x1=xl(2); y0=yl(1); y1=yl(2); if ~USE_LANDMASK xticks = sort([ 0:-gridx:x0 gridx:gridx:x1 ]); xticks = sort(xticks(xticks >= FRAME(1) & xticks <= FRAME(2))); if (FRAME(4) == 90.1) & (FRAME(3) == -90.1); yticks = sort( [ 0:-gridy:(y0+gridy) gridy:gridy:(y1-gridy) ] ); elseif FRAME(4) == 90.1; yticks = sort( [ 0:-gridy:y0 gridy:gridy:(y1 - gridy) ] ); elseif FRAME(3) == -90.1; yticks = sort( [ 0:-gridy:(y0 + gridy) gridy:gridy:y1 ] ); else yticks = sort( [ 0:-gridy:y0 gridy:gridy:y1 ] ); end yticks = sort(yticks(yticks >= FRAME(3) & yticks <= FRAME(4))); manual_ticks('x',xticks,label_eastwest(xticks)); manual_ticks('y',yticks,label_northsouth(yticks)); end hh = surface(XAX2, YAX2, pn*ones(size(data2)), data2); colormap(colr*[1 1 1]); %set(hh, 'facecolor', colr*[1 1 1]); shading flat box on if lgrd child = get(gca, 'Children'); maxz = []; for nchild = 1:length(child); maxz = max([maxz; max(max(get(child(nchild), 'ZData')))]); end maxz1 = (maxz+1)*ones(length(xticks), 2); maxz2 = (maxz+1)*ones(length(yticks), 2); if FRAME(4) == 90 & FRAME(3) == -90; vline(xticks,lgrd, [min(yticks)-gridy/2 max(yticks)+gridy/2], maxz1); elseif FRAME(4) == 90; vline(xticks,lgrd, [FRAME(3) max(yticks)+gridy/2], maxz1); elseif FRAME(3) == -90; vline(xticks,lgrd, [min(yticks)-gridy/2 FRAME(4)], maxz1); else vline(xticks,lgrd,[FRAME(3) FRAME(4)], maxz1); end hline(yticks, lgrd, [FRAME(1) FRAME(2)], maxz2); end; hold off;