--- MITgcm_contrib/enderton/Diagnostics/DiagPlotMakePlot.m 2005/08/10 19:58:04 1.3 +++ MITgcm_contrib/enderton/Diagnostics/DiagPlotMakePlot.m 2005/09/12 21:11:21 1.7 @@ -16,7 +16,7 @@ % (and in the horizontal for that matter). if isequal(pst,'Grd') if isCS - merccube(xax{inrow}{incol},yax{inrow}{incol},plotdata); + merccube_mod(xax{inrow}{incol},yax{inrow}{incol},plotdata); else imagesc(xax{inrow}{incol},yax{inrow}{incol},plotdata); end @@ -24,7 +24,7 @@ % Make interpolated plot. elseif isequal(pst,'Int') if isCS - merccube(xax{inrow}{incol},yax{inrow}{incol},plotdata); + merccube_mod(xax{inrow}{incol},yax{inrow}{incol},plotdata); shading interp; else pcolor(xax{inrow}{incol},yax{inrow}{incol},plotdata); @@ -34,13 +34,29 @@ % Make contour (non-filled) plot. Let MATLAB determine the contour % intervals on a differencing plot. elseif isequal(pst,'Con') - try [cs,h] = contour(xax{inrow}{incol},yax{inrow}{incol},plotdata,contint); - catch [cs,h] = contour(xax{inrow}{incol},yax{inrow}{incol},plotdata); end - set(h,'linewidth',linewidth); - if UseConLabel - clabel(cs,h,'fontsize',fs_clabel,'rotation',0); + if isequal(cmap,'solid-dashed') + for ii = 1:3 + cint = contint; lw = linewidth; + if ii == 1, cint = cint(cint>0); lst = '-'; end + if ii == 2, cint = cint(cint<0); lst = '--'; end + if ii == 3, cint = [0,0]; lst = '-'; lw = 2.*lw; end + try [cs,h] = contour(xax{inrow}{incol},yax{inrow}{incol},... + plotdata,cint,['k',lst]); + set(h,'linewidth',lw); + if UseConLabel + clabel(cs,h,'fontsize',fs_clabel,'rotation',0); + end + catch, end + end + else + [cs,h] = contour(xax{inrow}{incol},yax{inrow}{incol},plotdata,contint); + set(h,'linewidth',linewidth); + if UseConLabel + clabel(cs,h,'fontsize',fs_clabel,'rotation',0); + end end + % Make contour (filled) plot. Let MATLAB determine the contour % intervals on a differencing plot. elseif isequal(pst,'Cnf') @@ -55,7 +71,8 @@ elseif isequal(pst,'Lin') if ismember(cmp,{'OvC','OvE','OvF'}) for intrl = 1:ntrl - plot(xax{inrow}{intrl},data{inrow}{intrl},linecolors{intrl},'linewidth',linewidth); + plot(xax{inrow}{intrl},data{inrow}{intrl},... + linecolors{intrl},'linewidth',linewidth); end else plot(xax{inrow}{incol},plotdata,linecolors{1},'linewidth',linewidth);