📄 suptitle.m,v
字号:
head 3.0;access;symbols;locks; strict;comment @// @;3.0date 2000.06.13.19.18.01; author gilles; state Exp;branches;next ;desc@Release 3@3.0log@*** empty log message ***@text@function hout=suptitle(str)%SUPTITLE Puts a title above all subplots.% SUPTITLE('text') adds text to the top of the figure% above all subplots (a "super title"). Use this function% after all subplot commands.% Drea Thomas 6/15/95 drea@@mathworks.com% Warning: If the figure or axis units are non-default, this% will break.% Parameters used to position the supertitle.% Amount of the figure window devoted to subplotsplotregion = .92;% Y position of title in normalized coordinatestitleypos = .95;% Fontsize for supertitlefs = get(gcf,'defaultaxesfontsize')+4;% Fudge factor to adjust y spacing between subplotsfudge=1;haold = gca;figunits = get(gcf,'units');% Get the (approximate) difference between full height (plot + title% + xlabel) and bounding rectangle. if (~strcmp(figunits,'pixels')), set(gcf,'units','pixels'); pos = get(gcf,'position'); set(gcf,'units',figunits); else, pos = get(gcf,'position'); end ff = (fs-4)*1.27*5/pos(4)*fudge; % The 5 here reflects about 3 characters of height below % an axis and 2 above. 1.27 is pixels per point.% Determine the bounding rectange for all the plots% h = findobj('Type','axes'); % findobj is a 4.2 thing.. if you don't have 4.2 comment out% the next line and uncomment the following block. h = findobj(gcf,'Type','axes'); % Change suggested by Stacy J. Hills% If you don't have 4.2, use this code instead%ch = get(gcf,'children');%h=[];%for i=1:length(ch),% if strcmp(get(ch(i),'type'),'axes'),% h=[h,ch(i)];% end%end max_y=0;min_y=1;oldtitle =0;for i=1:length(h), if (~strcmp(get(h(i),'Tag'),'suptitle')), pos=get(h(i),'pos'); if (pos(2) < min_y), min_y=pos(2)-ff/5*3;end; if (pos(4)+pos(2) > max_y), max_y=pos(4)+pos(2)+ff/5*2;end; else, oldtitle = h(i); endendif max_y > plotregion, scale = (plotregion-min_y)/(max_y-min_y); for i=1:length(h), pos = get(h(i),'position'); pos(2) = (pos(2)-min_y)*scale+min_y; pos(4) = pos(4)*scale-(1-scale)*ff/5*3; set(h(i),'position',pos); endendnp = get(gcf,'nextplot');set(gcf,'nextplot','add');if (oldtitle), delete(oldtitle);endha=axes('pos',[0 1 1 1],'visible','off','Tag','suptitle');ht=text(.5,titleypos-1,str);set(ht,'horizontalalignment','center','fontsize',fs);set(gcf,'nextplot',np);axes(haold);if nargout, hout=ht;end@
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -