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

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

?? linkedzoom.m

?? 這個是時間序列分析的可視化工具
?? M
?? 第 1 頁 / 共 2 頁
字號:
function out = linkedzoom(varargin)
%LINKEDZOOM Link the zooming on all subplots of current figure.
% This function give users the ability to zoom in a given direction  
%   and will force all the subplots of the figure to have the same axis.
%
% Usage:
%   linkedzoom -> Toggles linkedzoom on current figure using default zoom of both x and y.
%   linkedzoom(fig,'ZoomCommand'), where fig is a figure handle applies ZoomCommand to all axes in fig
%   linkedzoom(h,'ZoomCommand'), where h is a vector of axes handles applies ZoomCommand to specified axes
%       ZoomCommand-> 
%                   off     Turns off linkedzoom
%                   onx     link x axis of all subplots of specified fig, leave y axis unmodified
%                   ony     link y axis of all subplots of specified fig, leave x axis unmodified
%                   onxy    link x and y  axis of all subplots of specified fig
%                   onx2    link x axis of all subplots of specified fig, zoom y axis of gca only
%                   ony2    link y axis of all subplots of specified fig, zoom x axis of gca only
%
%   linkedzoom ZoomCommand applies ZoomCommand to the current figure
%
% A few limitations:
%   Double clicking to restore axis limits doesn't work quite as you
%    might expect.  It sets all axes to the limits of the current axes,
%    not to their original values.
%   If you initiate linkedzoom with a handle input, you must
%    continue to use that handle input for subsequent calls.
%    e.q.  linkedzoom(h,'onx'); linkedzoom off 
%    is not a good idea

%   Internal functions calling us again use the following:
%
%                   down    linkedzoom is zooming in
%                   out     linkedzoom is zooming out
%                   clear   linkedzoom is clearing limits of axes
%                   setlimit linkedzoom is setting the limits of axes based on current axes
%                   getlimit linkedzoom returns current limits for current axes.
%                   
%   linkedzoom(fig,[],'ZoomCommand');  % Called from Figure.
%  
switch nargin
case 0
    fig = gcf;
    hAxes = findobj(fig,'Type','Axes');
    
    if isappdata(fig,'ZOOMFigureState')
        zoomCommand = 'off';
    else
        zoomCommand = 'onxy';
    end;
    
case 1
    if ischar(varargin{1})
        fig = gcf;
        hAxes = findobj(fig,'Type','Axes');
        
        zoomCommand = varargin{1};
    else
        fig = varargin{1};
        
        %Get handles to all involved figures and axes
        try
            [fig,hAxes] = localcheck_handle_input(fig);        
        catch
            error(lasterr);
        end;
        
        
        if isappdata(fig,'ZOOMFigureState')
            zoomCommand = 'off';
        else
            zoomCommand = 'onxy';
        end;
    end;
case 2
    fig = varargin{1};
    %Get handles to all involved figures and axes
    try
        [fig,hAxes] = localcheck_handle_input(fig);        
    catch
        error(lasterr);
    end;
    
    zoomCommand = lower(varargin{2});
case 3      % User specified a handle to a callback function 
    fig = varargin{1};
    %Get handles to all involved figures and axes
    try
        [fig,hAxes] = localcheck_handle_input(fig);        
    catch
        error(lasterr);
    end;
    
    zoomCommand = lower(varargin{2});
    
    setappdata(fig,'ZoomCallback',varargin{3});
    
case 4
    hAxes = varargin{3};
    fig = get(hAxes,'Parent');
    [junk,ndx] =unique([fig{:}]);     %Convert to array
    fig = [fig{sort(ndx)}];
    %Get handles to all involved figures and axes

    zoomCommand = lower(varargin{4});
otherwise
    errordlg('Unknown arguments sent to linkedzoom.');
    
end;

if (length(hAxes)==1)
    error('Must have multiple plots to use linked zoom');
    linkedzoom(fig,'off');
    return;
end;


fig1 = fig(1);      %Use this for appdata

switch zoomCommand % special cases of zoomCommand ON so remember them and just use on
case {'onx','ony','onxy','onx2','ony2'}
    setappdata(fig1,'ZOOMMode',zoomCommand);
    zoomCommand = 'on';
end;

%
% set some things we need for zoomCommands
%

if ismember(gcf,fig)
    ax=get(gcf,'currentaxes');
else
    ax = get(fig1,'currentaxes');
end;

if ~ismember(ax,hAxes)
    return
end;



% if isappdata(fig1,'ZOOMAxesHandles');
%     hAxes = getappdata(fig1,'ZOOMAxesHandles');
% else
%     hAxes = [];
% end;
rbbox_mode = 0;

%
% Switch on zoomCommand
%
switch zoomCommand
case 'off'
    % turn zoom off
    state = getappdata(fig1,'ZOOMFigureState');
    if ~isempty(state)
        % since we didn't set the pointer,
        % make sure it does not get reset
        ptr = get(fig1,'pointer');
        % restore figure and non-uicontrol children
        % don't restore uicontrols because they were restored
        % already when zoom was turned on
        uirestore(state,'nouicontrols');
        set(fig1,'pointer',ptr)
        
        % Remove all appdata we set         
        if isappdata(fig1,'ZOOMFigureState')
            rmappdata(fig1,'ZOOMFigureState');
        end
        % get rid of on state appdata if it exists
        % the non-existance of this appdata
        % indicates that zoom is off.
        if isappdata(fig1,'ZoomOnState')
            rmappdata(fig1,'ZoomOnState');
        end
%        if isappdata(fig1,'ZOOMAxesHandles');
            %hAxes = getappdata(fig1,'ZOOMAxesHandles');
            for c= 1:length(hAxes)
                if isappdata(get(hAxes(c),'ZLabel'),'ZOOMAxesData')
                    rmappdata(get(hAxes(c),'ZLabel'),'ZOOMAxesData')
                end;
            end
%            rmappdata(fig1,'ZOOMAxesHandles');
            %       end;
        if isappdata(fig1,'ZOOMMode');
            rmappdata(fig1,'ZOOMMode');
        end;
        
        %Sloppy cleanup, to get any figures without appdata
            set(fig,'windowbuttondownfcn','', ...
        'windowbuttonupfcn','', ...
        'windowbuttonmotionfcn','');

    end
    % done, go home.
    return
    
case 'down'
    % Activate axis that is clicked in
    allAxes = hAxes;
    ZOOM_found = 0;
    
    % this test may be causing failures for 3d axes
    for i=1:length(allAxes)
        ax=allAxes(i);
        ZOOM_Pt1 = get(ax,'CurrentPoint');
        xlim = get(ax,'xlim');
        ylim = get(ax,'ylim');
        if (xlim(1) <= ZOOM_Pt1(1,1) & ZOOM_Pt1(1,1) <= xlim(2) & ...
                ylim(1) <= ZOOM_Pt1(1,2) & ZOOM_Pt1(1,2) <= ylim(2))
            ZOOM_found = 1;
            fig_temp = get(ax,'Parent');
            set(fig_temp,'currentaxes',ax);
            break
        end
    end
    
    if ZOOM_found==0
        return
    end
    
    % Check for selection type
    selection_type = get(gcf,'SelectionType');
    zoomMode = getappdata(fig1,'ZOOMFigureMode');
    if isempty(zoomMode) | strcmp(zoomMode,'in');
        switch selection_type
        case 'normal'
            % Zoom in
            m = 1;
            scale_factor = 2; % the default zooming factor
        case 'open'
            % Zoom all the way out
            linkedzoom(hAxes,'out');
            return;
        otherwise
            % Zoom partially out
            m = -1;
            scale_factor = 2;
        end
    elseif strcmp(zoomMode,'out')
        switch selection_type
        case 'normal'
            % Zoom partially out
            m = -1;
            scale_factor = 2;
        case 'open'
            % Zoom all the way out
            linkedzoom(hAxes,'out');
            return;
        otherwise
            % Zoom in
            m = 1;
            scale_factor = 2; % the default zooming factor
        end
    else % unrecognized zoomMode
        return
    end
    
    ZOOM_Pt1 = localget_currentpoint(ax);
    ZOOM_Pt2 = ZOOM_Pt1;
    center = ZOOM_Pt1;
    
    if (m == 1)
        % Zoom in
        units = char(get(fig,'units'));units = units(1,:);  %Keep first value
        set(fig,'units','pixels')
        
        rbbox([get(gcf,'currentpoint') 0 0],get(gcf,'currentpoint'),gcf);
        
        ZOOM_Pt2 = localget_currentpoint(ax);
        set(fig,'units',units)
        
        % Note the currentpoint is set by having a non-trivial up function.
        if min(abs(ZOOM_Pt1-ZOOM_Pt2)) >= ...
                min(.01*[diff(localget_xlim(ax)) diff(localget_ylim(ax))]),
            % determine axis from rbbox 
            a = [ZOOM_Pt1;ZOOM_Pt2]; a = [min(a);max(a)];
            
            % Undo the effect of localget_currentpoint for log axes
            if strcmp(get(ax,'XScale'),'log'),
                a(1:2) = 10.^a(1:2);
            end
            if strcmp(get(ax,'YScale'),'log'),
                a(3:4) = 10.^a(3:4);
            end
            rbbox_mode = 1;
        end
    end
    % Limits is stored in appdata so no need to store it again,
    % but it is returned anyway.
    limits = linkedzoom(hAxes,'getlimits');
    
case 'on',
    state = getappdata(fig1,'ZOOMFigureState');
    if isempty(state),

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品免费视频网站| 国产欧美日韩综合精品一区二区| 国产精品18久久久久久vr| 日韩和欧美的一区| 五月天中文字幕一区二区| 一二三四区精品视频| 一区二区三区在线视频播放| 中文字幕一区二区三区四区| 一区二区三区成人在线视频| 亚洲成人动漫在线观看| 日本中文字幕一区| 久久成人精品无人区| 国产成人免费xxxxxxxx| 不卡av在线免费观看| 色婷婷国产精品久久包臀| 在线视频国产一区| 日韩一级黄色大片| 久久综合av免费| 国产精品高潮呻吟| 亚洲成av人影院| 久久国产精品99久久久久久老狼| 国产成人免费av在线| 91麻豆精品视频| 91精品婷婷国产综合久久性色| 2021久久国产精品不只是精品| 亚洲欧洲精品天堂一级| 天天操天天干天天综合网| 韩国成人在线视频| 色综合天天综合狠狠| 欧美一区二视频| 欧美激情资源网| 五月综合激情婷婷六月色窝| 精品一区二区在线播放| 91女厕偷拍女厕偷拍高清| 日韩一区二区精品| 亚洲色图一区二区| 国产一区二区网址| 欧美性猛交xxxx黑人交| 国产午夜精品一区二区| 性久久久久久久久久久久| 国产成人精品综合在线观看 | 亚洲精品一区二区精华| 国产精品久久久久久妇女6080| 天天色 色综合| 91视频观看视频| www国产精品av| 日韩va亚洲va欧美va久久| 99精品国产91久久久久久| 久久综合色8888| 亚洲 欧美综合在线网络| 99久久国产综合色|国产精品| 欧美成va人片在线观看| 亚洲不卡av一区二区三区| www.亚洲激情.com| 国产色婷婷亚洲99精品小说| 午夜av一区二区三区| 一本色道久久综合亚洲aⅴ蜜桃| 久久久精品免费网站| 玖玖九九国产精品| 欧美日韩成人综合| 亚洲午夜电影在线观看| 91捆绑美女网站| 欧美—级在线免费片| 极品美女销魂一区二区三区免费| 337p亚洲精品色噜噜狠狠| 亚洲在线观看免费| 日本电影欧美片| 中文字幕一区二区三区精华液| 高清国产午夜精品久久久久久| 欧美电影免费观看高清完整版在线 | 日韩三级免费观看| 亚洲sss视频在线视频| 在线日韩av片| 亚洲影视资源网| 日本电影亚洲天堂一区| 亚洲精品va在线观看| 欧洲色大大久久| 亚洲综合激情网| 欧美视频一区在线观看| 午夜在线成人av| 欧美丰满美乳xxx高潮www| 视频一区在线视频| 日韩欧美一区二区三区在线| 久久66热偷产精品| 久久久久亚洲蜜桃| 成人av在线资源网| 一区二区三区丝袜| 欧美日韩黄色影视| 蜜臂av日日欢夜夜爽一区| 精品国产免费人成电影在线观看四季| 久久99九九99精品| 国产精品你懂的在线欣赏| 91麻豆国产精品久久| 亚洲小说欧美激情另类| 精品少妇一区二区三区日产乱码| 国产一区二区在线看| 亚洲欧美日韩一区| 日韩视频一区二区在线观看| 国产福利91精品| 自拍偷在线精品自拍偷无码专区| 欧美日韩国产影片| 国产麻豆一精品一av一免费| 亚洲精选在线视频| 精品久久久久久最新网址| 99精品热视频| 麻豆国产精品一区二区三区| 亚洲国产精品黑人久久久| 91成人看片片| 国产成人啪免费观看软件| 亚洲一区二区三区四区在线| 欧美精品一区二区久久婷婷| 色94色欧美sute亚洲线路一久| 韩日欧美一区二区三区| 一区二区在线观看视频| 久久久久综合网| 91精品久久久久久久99蜜桃| 成人av网站在线| 日韩电影网1区2区| 亚洲欧洲性图库| 久久亚洲一级片| 欧美肥妇bbw| 不卡视频在线观看| 久久精工是国产品牌吗| 一级特黄大欧美久久久| 久久你懂得1024| 欧美一区二区三区视频在线观看| av动漫一区二区| 国模大尺度一区二区三区| 亚洲一卡二卡三卡四卡无卡久久| 久久日韩精品一区二区五区| 欧美伊人精品成人久久综合97 | 欧美视频一区二区在线观看| 国产成人精品免费| 久久99国产乱子伦精品免费| 午夜精品久久久久久久| 亚洲女子a中天字幕| 国产欧美一区二区精品婷婷| 欧美va亚洲va| 日韩欧美一区二区在线视频| 这里只有精品视频在线观看| 欧美日韩综合一区| 欧美性猛片aaaaaaa做受| 在线亚洲一区二区| 色一情一伦一子一伦一区| 99re这里只有精品视频首页| 处破女av一区二区| 国产麻豆视频一区二区| 久久超碰97中文字幕| 蜜桃av一区二区在线观看| 美女视频黄免费的久久 | 91啪亚洲精品| 色综合欧美在线| 色域天天综合网| 欧美日韩精品一区视频| 正在播放亚洲一区| 欧美一区二区在线免费观看| 日韩精品资源二区在线| 亚洲精品一区二区三区福利| 欧美精品一区二区在线播放| www国产成人| 国产精品久久久久久久浪潮网站| 国产精品理论在线观看| 一区二区在线看| 首页国产丝袜综合| 精品一区二区三区视频| 国产福利不卡视频| 99r国产精品| 色婷婷久久综合| 欧美精品18+| 久久久精品综合| 亚洲免费毛片网站| 亚洲高清一区二区三区| 美女脱光内衣内裤视频久久网站 | 亚洲国产日韩a在线播放性色| 亚洲福利视频导航| 精品午夜久久福利影院| 成人国产免费视频| 欧美日韩一卡二卡三卡 | 91精品国产一区二区| 26uuu精品一区二区| 日韩毛片视频在线看| 午夜欧美一区二区三区在线播放| 久久精品国产第一区二区三区| 不卡av免费在线观看| 欧美美女一区二区| 国产欧美精品日韩区二区麻豆天美| 亚洲三级在线免费| 美国十次综合导航| 色悠悠久久综合| 精品福利一二区| 亚洲第一会所有码转帖| 国产99一区视频免费| 欧美色综合影院| 日本一区二区久久| 日韩不卡免费视频| 91视频一区二区三区| 久久女同互慰一区二区三区| 日韩中文字幕不卡| 色综合中文字幕国产| 欧美大片一区二区|