--- MITgcm_contrib/enderton/Diagnostics/DiagPlotMakePlot.m 2005/08/11 14:40:22 1.4 +++ MITgcm_contrib/enderton/Diagnostics/DiagPlotMakePlot.m 2005/09/12 21:11:21 1.7 @@ -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);