--- MITgcm_contrib/enderton/Diagnostics/DiagPlotMakePlot.m 2005/02/02 15:38:21 1.2 +++ MITgcm_contrib/enderton/Diagnostics/DiagPlotMakePlot.m 2005/09/12 20:13:21 1.6 @@ -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,24 +34,33 @@ % Make contour (non-filled) plot. Let MATLAB determine the contour % intervals on a differencing plot. elseif isequal(pst,'Con') - if isequal(cmp,'Dif') - [cs,h] = contour(xax{inrow}{incol},yax{inrow}{incol},plotdata); + 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 + [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 + end else - [cs,h]=contour(xax{inrow}{incol},yax{inrow}{incol},plotdata,contint); - set(h,'linewidth',linewidth) - end - if UseConLabel - clabel(cs,h,'fontsize',fs_clabel,'rotation',0); + [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') - if isequal(cmp,'Dif') - [cs,h] = contourf(xax{inrow}{incol},yax{inrow}{incol},plotdata); - else - [cs,h] = contourf(xax{inrow}{incol},yax{inrow}{incol},plotdata,contint); - end + try [cs,h] = contourf(xax{inrow}{incol},yax{inrow}{incol},plotdata,contint); + catch [cs,h] = contourf(xax{inrow}{incol},yax{inrow}{incol},plotdata); end if UseCnfLabel clabel(cs,h,'fontsize',fs_clabel,'rotation',0); end @@ -61,7 +70,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);