亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? subplot.m

?? 這是MATLAB小型的。下下去看看嘛
?? M
字號:
function theAxis = subplot(nrows, ncols, thisPlot, replace)
%SUBPLOT Create axes in tiled positions.
%   H = SUBPLOT(m,n,p), or SUBPLOT(mnp), breaks the Figure window
%   into an m-by-n matrix of small axes, selects the p-th axes for 
%   for the current plot, and returns the axis handle.  The axes 
%   are counted along the top row of the Figure window, then the
%   second row, etc.  For example,
% 
%       SUBPLOT(2,1,1), PLOT(income)
%       SUBPLOT(2,1,2), PLOT(outgo)
% 
%   plots income on the top half of the window and outgo on the
%   bottom half.
% 
%   SUBPLOT(m,n,p), if the axis already exists, makes it current.
%   SUBPLOT(m,n,p,'replace'), if the axis already exists, deletes it and
%   creates a new axis.
%   SUBPLOT(m,n,P), where P is a vector, specifies an axes position
%   that covers all the subplot positions listed in P.
%   SUBPLOT(H), where H is an axis handle, is another way of making
%   an axis current for subsequent plotting commands.
%
%   SUBPLOT('position',[left bottom width height]) creates an
%   axis at the specified position in normalized coordinates (in 
%   in the range from 0.0 to 1.0).
%
%   If a SUBPLOT specification causes a new axis to overlap an
%   existing axis, the existing axis is deleted - unless the position
%   of the new and existing axis are identical.  For example,
%   the statement SUBPLOT(1,2,1) deletes all existing axes overlapping
%   the left side of the Figure window and creates a new axis on that
%   side - unless there is an axes there with a position that exactly
%   matches the position of the new axes (and 'replace' was not specified),
%   in which case all other overlapping axes will be deleted and the 
%   matching axes will become the current axes.
%   
%
%   SUBPLOT(111) is an exception to the rules above, and is not
%   identical in behavior to SUBPLOT(1,1,1).  For reasons of backwards
%   compatibility, it is a special case of subplot which does not
%   immediately create an axes, but instead sets up the figure so that
%   the next graphics command executes CLF RESET in the figure
%   (deleting all children of the figure), and creates a new axes in
%   the default position.  This syntax does not return a handle, so it
%   is an error to specify a return argument.  The delayed CLF RESET
%   is accomplished by setting the figure's NextPlot to 'replace'.

%   Copyright 1984-2002 The MathWorks, Inc. 
%   $Revision: 5.22 $  $Date: 2002/04/08 21:44:37 $

% we will kill all overlapping axes siblings if we encounter the mnp
% or m,n,p specifier (excluding '111').
% But if we get the 'position' or H specifier, we won't check for and
% delete overlapping siblings:
narg = nargin;
kill_siblings = 0;
create_axis = 1;
delay_destroy = 0;
tol = sqrt(eps);
if narg == 0 % make compatible with 3.5, i.e. subplot == subplot(111)
    nrows = 111;
    narg = 1;
end

%check for encoded format
handle = '';
position = '';

if narg == 1
    % The argument could be one of 3 things:
    % 1) a 3-digit number 100 < num < 1000, of the format mnp
    % 2) a 3-character string containing a number as above
    % 3) an axis handle
    code = nrows;

    % turn string into a number:
    if(isstr(code)) 
        code = str2double(code);
    end

    % number with a fractional part can only be an identifier:
    if(rem(code,1) > 0)
        handle = code;
        if ~strcmp(get(handle,'type'),'axes')
            error('Requires valid axes handle for input.')
        end
        create_axis = 0;
    % all other numbers will be converted to mnp format:
    else
        thisPlot = rem(code, 10);
        ncols = rem( fix(code-thisPlot)/10,10);
        nrows = fix(code/100);
        if nrows*ncols < thisPlot
            error('Index exceeds number of subplots.');
        end
	    kill_siblings = 1;
	    if(code == 111)
	    create_axis   = 0;
	    delay_destroy = 1;
	    else
	    create_axis   = 1;
	    delay_destroy = 0;
	    end
    end
    
elseif narg == 2
    % The arguments MUST be the string 'position' and a 4-element vector:
    if(strcmp(lower(nrows), 'position'))
        pos_size = size(ncols);
        if(pos_size(1) * pos_size(2) == 4)
            position = ncols;
        else
            error(['subplot(''position'',',...
            ' [left bottom width height]) is what works'])
        end
    else
        error('Unknown command option')
    end
    kill_siblings = 1; % Kill overlaps here also.
    
elseif narg == 3
    % passed in subplot(m,n,p) -- we should kill overlaps
    % here too:
    kill_siblings = 1;
    
elseif narg == 4
    % passed in subplot(m,n,p,'replace') - probably
    if strncmp(lower(replace),'replace',1)
        kill_siblings = 2; % kill nomatter what
    else
        kill_siblings = 1; % kill if it overlaps stuff
    end
end




% if we recovered an identifier earlier, use it:
if(~isempty(handle))
    set(get(0,'CurrentFigure'),'CurrentAxes',handle);
% if we haven't recovered position yet, generate it from mnp info:
elseif(isempty(position))
    if (min(thisPlot) < 1)
        error('Illegal plot number.')
    elseif (max(thisPlot) > ncols*nrows)
        error('Index exceeds number of subplots.')
    else
        % This is the percent offset from the subplot grid of the plotbox.
        PERC_OFFSET_L = 2*0.09;
        PERC_OFFSET_R = 2*0.045;
        PERC_OFFSET_B = PERC_OFFSET_L;
        PERC_OFFSET_T = PERC_OFFSET_R;
        if nrows > 2
            PERC_OFFSET_T = 0.9*PERC_OFFSET_T;
            PERC_OFFSET_B = 0.9*PERC_OFFSET_B;
        end
        if ncols > 2
            PERC_OFFSET_L = 0.9*PERC_OFFSET_L;
            PERC_OFFSET_R = 0.9*PERC_OFFSET_R;
        end

        row = (nrows-1) -fix((thisPlot-1)/ncols);
        col = rem (thisPlot-1, ncols);

        % For this to work the default axes position must be in normalized coordinates
        if ~strcmp(get(gcf,'defaultaxesunits'),'normalized')
            warning('DefaultAxesUnits not normalized.')
            tmp = axes;
            set(axes,'units','normalized')
            def_pos = get(tmp,'position');
            delete(tmp)
        else
            def_pos = get(gcf,'DefaultAxesPosition');
        end
        col_offset = def_pos(3)*(PERC_OFFSET_L+PERC_OFFSET_R)/ ...
                                (ncols-PERC_OFFSET_L-PERC_OFFSET_R);
        row_offset = def_pos(4)*(PERC_OFFSET_B+PERC_OFFSET_T)/ ...
                                (nrows-PERC_OFFSET_B-PERC_OFFSET_T);
        totalwidth = def_pos(3) + col_offset;
        totalheight = def_pos(4) + row_offset;
        width = totalwidth/ncols*(max(col)-min(col)+1)-col_offset;
        height = totalheight/nrows*(max(row)-min(row)+1)-row_offset;
        position = [def_pos(1)+min(col)*totalwidth/ncols ...
                    def_pos(2)+min(row)*totalheight/nrows ...
                    width height];
        if width <= 0.5*totalwidth/ncols
            position(1) = def_pos(1)+min(col)*(def_pos(3)/ncols);
            position(3) = 0.7*(def_pos(3)/ncols)*(max(col)-min(col)+1);
        end
        if height <= 0.5*totalheight/nrows
            position(2) = def_pos(2)+min(row)*(def_pos(4)/nrows);
            position(4) = 0.7*(def_pos(4)/nrows)*(max(row)-min(row)+1);
        end
    end
end

% kill overlapping siblings if mnp specifier was used:
nextstate = get(gcf,'nextplot');

if strncmp(nextstate,'replace',7)
    nextstate = 'add'; 
end

if(kill_siblings)
    if delay_destroy
        if nargout
            error('Function called with too many output arguments')
        else
            set(gcf,'NextPlot','replace'); 
            return
        end
    end
    sibs = datachildren(gcf);
    got_one = 0;
    for i = 1:length(sibs)
        % Be aware that handles in this list might be destroyed before
        % we get to them, because of other objects' DeleteFcn callbacks...
        if(ishandle(sibs(i)) & strcmp(get(sibs(i),'Type'),'axes'))
            units = get(sibs(i),'Units');
            set(sibs(i),'Units','normalized')
            sibpos = get(sibs(i),'Position');
            set(sibs(i),'Units',units);
            intersect = 1;
            if((position(1) >= sibpos(1) + sibpos(3)-tol) | ...
                (sibpos(1) >= position(1) + position(3)-tol) | ...
                (position(2) >= sibpos(2) + sibpos(4)-tol) | ...
                (sibpos(2) >= position(2) + position(4)-tol))
                intersect = 0;
            end
            if intersect
                % if already found the position match axis (got_one)
                % or if this intersecting axis doesn't have matching pos
                % or if we know we want to make a new axes anyway (kill_siblings==2)
                % delete it
                if got_one | ...
                        any(abs(sibpos - position) > tol) | ...
                        kill_siblings==2
                    delete(sibs(i));
                    % otherwise, the intersecting sibs' pos matches subplot area
                else
                    got_one = 1;
                    set(gcf,'CurrentAxes',sibs(i));
                    if strcmp(nextstate,'new')
                        create_axis = 1;
                    else
                        create_axis = 0;
                    end
                end
            end
        end
    end
set(gcf,'NextPlot',nextstate);
end

% create the axis:
if create_axis
    if strcmp(nextstate,'new')
        figure
    end
    ax = axes('units','normal','Position', position);
    set(ax,'units',get(gcf,'defaultaxesunits'))
else 
    ax = gca; 
end

% return identifier, if requested:
if(nargout > 0)
    theAxis = ax;
end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩在线一区二区三区| 国产成人aaaa| 99精品国产一区二区三区不卡| 一区二区三区四区不卡在线| 中文成人av在线| 日韩精品自拍偷拍| 欧美一区二区视频免费观看| 日韩一区二区三区三四区视频在线观看| 色综合久久久网| 色婷婷狠狠综合| 91成人在线观看喷潮| 色婷婷av一区二区| 在线观看视频欧美| 91精品欧美福利在线观看| 欧美日韩国产电影| 91精品视频网| 欧美日韩精品三区| 欧美一区二区三区免费观看视频| 91在线精品一区二区| 国产高清不卡一区| 成人免费看的视频| 色噜噜狠狠成人网p站| 在线观看亚洲成人| 成人欧美一区二区三区视频网页 | 91免费在线播放| 色综合久久综合网| 69av一区二区三区| 26uuu精品一区二区| 欧美激情在线一区二区| 亚洲视频1区2区| 五月婷婷另类国产| 国产精品一区久久久久| 91色九色蝌蚪| 日韩一区二区三区视频| 国产人妖乱国产精品人妖| 亚洲三级电影全部在线观看高清| 亚洲成人精品在线观看| 日韩色视频在线观看| 久久久久久久久岛国免费| 有码一区二区三区| 精品无人码麻豆乱码1区2区| 91亚洲永久精品| 欧美精品v国产精品v日韩精品 | 成人在线综合网| 欧美调教femdomvk| 国产日韩综合av| 日韩高清一级片| 91视频国产观看| 精品久久久久久久久久久久包黑料| 国产精品二三区| 免费久久99精品国产| 91免费精品国自产拍在线不卡| 欧美日韩综合一区| 国产精品久久久一本精品 | 亚洲午夜久久久久久久久久久 | 懂色av一区二区三区免费观看| 91蜜桃在线观看| 久久久www成人免费毛片麻豆 | 亚洲国产精品一区二区久久恐怖片| 久久精品国产网站| 欧洲视频一区二区| 国产午夜亚洲精品羞羞网站| 国产欧美va欧美不卡在线| 亚洲国产一区二区在线播放| 国产成人免费视频网站| 欧美日韩一区二区三区在线| 亚洲日本青草视频在线怡红院| 精品1区2区3区| 欧美韩日一区二区三区四区| 精品一区二区三区久久| 精品视频免费在线| 国产精品欧美一区二区三区| 蜜臀av性久久久久蜜臀aⅴ流畅 | 欧美色图免费看| 久久精品一区二区三区不卡牛牛| 日本大胆欧美人术艺术动态| 99久久精品国产麻豆演员表| 国产人久久人人人人爽| 久热成人在线视频| 日本精品视频一区二区| 国产精品不卡一区二区三区| 国产精品一卡二| 精品国产乱码久久久久久久 | 91精品国产入口在线| 一区二区三区国产精华| av成人老司机| 国产精品天美传媒| 成人精品小蝌蚪| 国产视频一区在线观看| 成人手机电影网| 欧美一区二区三区在线看| 蜜芽一区二区三区| 欧美xxxxxxxx| 国产99久久精品| 9191成人精品久久| 久久99国内精品| 麻豆成人在线观看| 久久午夜羞羞影院免费观看| 国产精品自产自拍| 欧美国产成人精品| 欧美伊人久久久久久久久影院| 亚洲国产精品影院| 久久先锋影音av| 一本一道综合狠狠老| 五月综合激情日本mⅴ| 精品福利一二区| 国产人伦精品一区二区| 国产盗摄一区二区三区| 国产精品你懂的在线| 在线国产电影不卡| 国内久久精品视频| 一区二区三区毛片| 精品国产乱码久久久久久图片| 成人精品鲁一区一区二区| 亚洲二区在线观看| wwwwxxxxx欧美| 一本一本久久a久久精品综合麻豆| 图片区小说区区亚洲影院| 国产亚洲人成网站| 欧美精品免费视频| 久久电影网电视剧免费观看| 中文字幕一区二区三区蜜月 | 五月激情综合网| 亚洲国产成人自拍| 91精品国产综合久久精品 | 亚洲一区二区三区不卡国产欧美| 久久狠狠亚洲综合| 一区二区三区在线观看国产| 欧美成人女星排行榜| 在线观看日韩一区| 成人免费视频app| 精品午夜一区二区三区在线观看| 国产精品系列在线| 欧美大黄免费观看| 欧美日韩高清一区二区不卡| av在线免费不卡| 国产一区二区免费视频| 日韩激情在线观看| 亚洲免费色视频| 日本一区二区三区久久久久久久久不| 欧美绝品在线观看成人午夜影视| 99久久精品国产精品久久| 国产精品2024| av一本久道久久综合久久鬼色| 一区二区欧美在线观看| 中文字幕一区二区三区在线不卡| 国产欧美日韩中文久久| 欧美高清视频一二三区| 不卡一区二区在线| 99久久伊人久久99| 精品乱人伦小说| 91精品国产日韩91久久久久久| 欧美日韩在线三级| 不卡高清视频专区| www.色精品| 成人国产在线观看| 成人激情校园春色| av电影天堂一区二区在线观看| hitomi一区二区三区精品| av激情综合网| 成人激情午夜影院| 99精品国产热久久91蜜凸| 99国产精品久| 91成人看片片| 在线播放亚洲一区| 日韩一级二级三级| 精品国产1区二区| 国产欧美视频一区二区三区| 中文字幕亚洲一区二区va在线| 成人欧美一区二区三区视频网页| 国产精品乱码一区二三区小蝌蚪| 亚洲国产精品99久久久久久久久| 国产精品久久久久一区二区三区| ...xxx性欧美| 亚洲国产综合在线| 九色|91porny| 国产精品白丝av| 色天使久久综合网天天| 欧美另类videos死尸| 2020国产精品久久精品美国| 国产精品乱码一区二区三区软件| 亚洲精品久久嫩草网站秘色| 日韩精品成人一区二区在线| 美国av一区二区| 国产精品自产自拍| 色婷婷av一区二区三区大白胸 | 东方aⅴ免费观看久久av| 91婷婷韩国欧美一区二区| 欧美乱妇15p| 国产精品久久久久久久岛一牛影视 | 色综合天天综合网天天看片| 日韩高清在线一区| 性欧美大战久久久久久久久| 国产老妇另类xxxxx| 欧美午夜不卡视频| 久久精品国内一区二区三区| 国产成a人亚洲| 欧美二区三区91| 亚洲欧美国产毛片在线| 精品亚洲成a人|