/[MITgcm]/MITgcm/verification/tutorial_global_oce_latlon/diags_matlab/suptitle.m
ViewVC logotype

Contents of /MITgcm/verification/tutorial_global_oce_latlon/diags_matlab/suptitle.m

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.3 - (show annotations) (download)
Sat Aug 12 20:25:13 2006 UTC (17 years, 8 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint58u_post, checkpoint58w_post, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63g, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint64, checkpoint65, checkpoint60, checkpoint61, checkpoint62, checkpoint63, checkpoint58r_post, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint58n_post, checkpoint58x_post, checkpoint58t_post, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint58q_post, checkpoint59q, checkpoint59p, checkpoint59r, checkpoint59e, checkpoint59d, checkpoint59g, checkpoint59f, checkpoint59a, checkpoint59c, checkpoint59b, checkpoint59m, checkpoint59l, checkpoint59o, checkpoint59n, checkpoint59i, checkpoint59h, checkpoint59k, checkpoint59j, checkpoint59, checkpoint58o_post, checkpoint62c, checkpoint62b, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint58y_post, checkpoint58v_post, checkpoint58s_post, checkpoint61f, checkpoint61g, checkpoint61d, checkpoint61e, checkpoint61b, checkpoint61c, checkpoint58p_post, checkpoint61a, checkpoint61n, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint61p, checkpoint61q, checkpoint61z, checkpoint61x, checkpoint61y, HEAD
Changes since 1.2: +1 -1 lines
accidentally removed ; put them back.

1 function hout=suptitle(str)
2 %SUPTITLE Puts a title above all subplots.
3 % SUPTITLE('text') adds text to the top of the figure
4 % above all subplots (a "super title"). Use this function
5 % after all subplot commands.
6
7 % Drea Thomas 6/15/95 drea@mathworks.com
8 %
9 % $Header: $
10 % $Name: $
11
12 % Warning: If the figure or axis units are non-default, this
13 % will break.
14
15 % Parameters used to position the supertitle.
16
17 % Amount of the figure window devoted to subplots
18 plotregion = .92;
19
20 % Y position of title in normalized coordinates
21 titleypos = .95;
22
23 % Fontsize for supertitle
24 fs = get(gcf,'defaultaxesfontsize')+4;
25
26 % Fudge factor to adjust y spacing between subplots
27 fudge=1;
28
29 haold = gca;
30 figunits = get(gcf,'units');
31
32 % Get the (approximate) difference between full height (plot + title
33 % + xlabel) and bounding rectangle.
34
35 if (~strcmp(figunits,'pixels')),
36 set(gcf,'units','pixels');
37 pos = get(gcf,'position');
38 set(gcf,'units',figunits);
39 else,
40 pos = get(gcf,'position');
41 end
42 ff = (fs-4)*1.27*5/pos(4)*fudge;
43
44 % The 5 here reflects about 3 characters of height below
45 % an axis and 2 above. 1.27 is pixels per point.
46
47 % Determine the bounding rectange for all the plots
48
49 % h = findobj('Type','axes');
50
51 % findobj is a 4.2 thing.. if you don't have 4.2 comment out
52 % the next line and uncomment the following block.
53
54 h = findobj(gcf,'Type','axes'); % Change suggested by Stacy J. Hills
55
56 % If you don't have 4.2, use this code instead
57 %ch = get(gcf,'children');
58 %h=[];
59 %for i=1:length(ch),
60 % if strcmp(get(ch(i),'type'),'axes'),
61 % h=[h,ch(i)];
62 % end
63 %end
64
65
66
67
68 max_y=0;
69 min_y=1;
70
71 oldtitle =0;
72 for i=1:length(h),
73 if (~strcmp(get(h(i),'Tag'),'suptitle')),
74 pos=get(h(i),'pos');
75 if (pos(2) < min_y), min_y=pos(2)-ff/5*3;end;
76 if (pos(4)+pos(2) > max_y), max_y=pos(4)+pos(2)+ff/5*2;end;
77 else,
78 oldtitle = h(i);
79 end
80 end
81
82 if max_y > plotregion,
83 scale = (plotregion-min_y)/(max_y-min_y);
84 for i=1:length(h),
85 pos = get(h(i),'position');
86 pos(2) = (pos(2)-min_y)*scale+min_y;
87 pos(4) = pos(4)*scale-(1-scale)*ff/5*3;
88 set(h(i),'position',pos);
89 end
90 end
91
92 np = get(gcf,'nextplot');
93 set(gcf,'nextplot','add');
94 if (oldtitle),
95 delete(oldtitle);
96 end
97 ha=axes('pos',[0 1 1 1],'visible','off','Tag','suptitle');
98 ht=text(.5,titleypos-1,str);set(ht,'horizontalalignment','center','fontsize',fs);
99 set(gcf,'nextplot',np);
100 axes(haold);
101 if nargout,
102 hout=ht;
103 end
104
105
106

  ViewVC Help
Powered by ViewVC 1.1.22