--- MITgcm_contrib/enderton/Diagnostics/DiagPlotMakePlot.m 2005/01/31 15:43:27 1.1 +++ 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,24 +34,34 @@ % 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 + 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) - 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 @@ -60,8 +70,9 @@ % appropriate data of which to overlay. elseif isequal(pst,'Lin') if ismember(cmp,{'OvC','OvE','OvF'}) - for inexp = 1:nexp - plot(xax{inrow}{inexp},data{inrow}{inexp},linecolors{inexp},'linewidth',linewidth); + for intrl = 1:ntrl + plot(xax{inrow}{intrl},data{inrow}{intrl},... + linecolors{intrl},'linewidth',linewidth); end else plot(xax{inrow}{incol},plotdata,linecolors{1},'linewidth',linewidth);