Matlab 多个figure窗口堆叠位置
1、【函数】直接上函数。
function figurepos(RowNum, ColNum, FigNum, FigName)
% FIGUREPOS(FigName, RowNum, ColNum, FigNum) divide the whole screen into
%RowNum*ColNum, put figure named FigName at position FigNum
% --FigName: figure name
% --RowNum: number of rows
% --ColNum: number of columns
% --FigNum: figure position
Fighandle = figure('NumberTitle', 'off', 'Name', FigName);
a = ceil(FigNum/ColNum);
b = rem(FigNum, ColNum);
if a==0
a = 1;
end
if b==0
b = ColNum;
end
axes('Position', [0.01 0.01 0.98 1]);%child figure position:[left, bottom, width, height]
set(Fighandle,'Unit','normalized','Position', [0.01+(b-1)/ColNum,0.06+(0.95-0.01*RowNum)*(RowNum-a)/RowNum, ...
(1-0.01*(ColNum+1))/ColNum, (0.95-0.01*RowNum)/RowNum*0.8]);
2、【参数说明】figurepos(RowNum, ColNum, FigNum, FigName)。前三个参数正如subplot()一样,把整个屏幕分为RowNum行,ColNum列,绘制第FigNNum 个图。最后一个参数是窗口的名字。
3、【让matlab随时能调用】将这个子程序放在matlab的搜索路径里就行,简单的方法是放在'文档'文件夹的matlab文件夹下。
4、【修改每个窗口中图的位置】程序当中这一句axes('Position', [0.01 0.01 0.98 1]);就是调整窗口中图的位置的。表示[左边距 下边距 宽度 高度]。会影响图中左边,下面的缝隙的大小。这个缝隙可以显示xlable, ylabel
5、【快速关闭很多个图】在matlab的命令窗口里输入close all就行了