1 |
% DiagPlotMisc is called by DiagPlot and cannot be used seperately. |
2 |
|
3 |
|
4 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
5 |
% Apply desired colorbar, contour label, tick labels, box, grid % |
6 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
7 |
|
8 |
% Center caxis around 0 |
9 |
if cmapcenter0 |
10 |
caxis([-max(abs(caxis)),max(abs(caxis))]); |
11 |
end |
12 |
|
13 |
% Apply desired colormap. |
14 |
if ~isequal(cmap,'') |
15 |
if isequal(cmap,'solid-dashed') |
16 |
% Accounted for in DiagPlotMakePlot. |
17 |
elseif isequal(cmap,'black') |
18 |
colormap([0,0,0]); |
19 |
elseif isequal(cmap,'bwr') |
20 |
load('BWR_6.mat'); |
21 |
colormap(bwr); |
22 |
else |
23 |
colormap(cmap); |
24 |
end |
25 |
end |
26 |
|
27 |
% Add colorbar, except for line plots. When the colorbar is placed, reset |
28 |
% the colorbar and axes positions on the figure to match desired settings. |
29 |
% Colorbar can be turned off as desired. |
30 |
if UseColorbar |
31 |
if ~isequal(pst,'Lin') |
32 |
h=colorbar; |
33 |
cxi = xi+dx-dxcb; |
34 |
set(h,'position',[cxi,yi,dxcb,dy]); |
35 |
set(h,'fontsize',fs_colorbar); |
36 |
set(gca,'position',[xi,yi,dx-dxcb-dxcbg,dy]); |
37 |
end |
38 |
end |
39 |
|
40 |
% Reform tick labels. It the PlotStyle (pst) is 'Lin', do nothing with the |
41 |
% y-axis label as is it now a dependent variable. |
42 |
if UseNiceTickLabels |
43 |
if isequal(pltslc{inrow}{incol}(1:3),'lon') |
44 |
xtick = fac.*lontick; xticklabel = lonticklabel; |
45 |
set(gca,'xtick',xtick); set(gca,'xticklabel',xticklabel); |
46 |
elseif isequal(pltslc{inrow}{incol}(1:3),'lat') |
47 |
xtick = fac.*lattick; xticklabel = latticklabel; |
48 |
set(gca,'xtick',xtick); set(gca,'xticklabel',xticklabel); |
49 |
elseif isequal(pltslc{inrow}{incol}(1:3),'tim') |
50 |
% xtick = timtick; xticklabel = timticklabel; |
51 |
% set(gca,'xtick',xtick); set(gca,'xticklabel',xticklabel); |
52 |
end |
53 |
|
54 |
if ~isequal(pltslc{inrow}{incol}(4:6),'fld') |
55 |
if isequal(pltslc{inrow}{incol}(4:6),'lat') |
56 |
ytick = fac.*lattick; yticklabel = latticklabel; |
57 |
elseif isequal(pltslc{inrow}{incol}(4:6),'hgt') |
58 |
eval(['ytick = vertick',flu,';']); |
59 |
eval(['yticklabel = verticklabel',flu,';']); |
60 |
end |
61 |
set(gca,'ytick',ytick); |
62 |
set(gca,'yticklabel',yticklabel); |
63 |
end |
64 |
end |
65 |
|
66 |
% Add box and grid as desired. |
67 |
eval(['box ' ,Box ,';']); |
68 |
eval(['grid ',Grid,';']); |
69 |
|
70 |
% Add legend if comparison is set to one of the overlay settings: 'OvE' or |
71 |
% 'OvC'. If the 'UseLegend' flag is turned on but the comparison type is |
72 |
% not one of these overlay settings, nothing is done. |
73 |
if UseLegend && ismember(cmp,{'OvC','OvE','OvF'}) |
74 |
legendstr = ''; |
75 |
for intrl = 1:ntrl |
76 |
if isequal(cmp,'OvE'), tempname = page{inrow}{intrl}{itrl}; |
77 |
elseif isequal(cmp,'OvC'), tempname = page{inrow}{intrl}{iavg}; |
78 |
elseif isequal(cmp,'OvF'), tempname = page{inrow}{intrl}{ifln}; end |
79 |
tempname = AddSlashesBeforeUnderscores(tempname); |
80 |
legendstr = [legendstr,'''',tempname,''',']; |
81 |
end |
82 |
eval(['legend(',legendstr,num2str(LegendPlacement),')']); |
83 |
end |
84 |
|
85 |
% Add coast as appropriate. |
86 |
if Coast |
87 |
%m_proj('Mercator','lat',90,'lon',[-180,177.5]); |
88 |
m_proj('Equidistant Cylindrical','lat',90,'lon',[-180 180]); |
89 |
m_coast('color',[0 0 0]); |
90 |
%m_grid('box','on') |
91 |
%draw_coast(1.) |
92 |
end |