資源簡介
使用方法:1.打開figure圖(取消編輯模式),2.在matlab命令窗口中輸入magnify,3.回到figure窗口,左鍵動態(tài)選取查看,4.ctrl+左鍵固化,也可右鍵固化,‘’縮放方法范圍,‘+’和‘-’縮放放大比例
代碼片段和文件信息
function?magnify(f1)
%
%magnify(f1)
%
%??Figure?creates?a?magnification?box?when?under?the?mouse
%??position?when?a?button?is?pressed.??Press?‘+‘/‘-‘?while
%??button?pressed?to?increase/decrease?magnification.?Press
%??‘>‘/‘<‘?while?button?pressed?to?increase/decrease?box?size.
%??Hold?‘Ctrl‘?while?clicking?to?leave?magnification?on?figure.
%
%??Example:
%?????plot(1:100randn(1100)(1:300)/3rand(1300))?grid?on
%?????magnify;
%?Rick?Hindman?-?7/29/04
if?(nargin?==?0)?f1?=?gcf;?end;
set(f1?...
???‘WindowButtonDownFcn‘??@ButtonDownCallback?...
???‘WindowButtonUpFcn‘?@ButtonUpCallback?...
???‘WindowButtonMotionFcn‘?@ButtonMotionCallback?...
???‘KeyPressFcn‘?@KeyPressCallback);
return;
function?ButtonDownCallback(srceventdata)
???f1?=?src;
???a1?=?get(f1‘CurrentAxes‘);
???a2?=?copyobj(a1f1);
???set(f1?...
??????‘UserData‘[f1a1a2]?...
??????‘Pointer‘‘fullcrosshair‘?...
??????‘CurrentAxes‘a(chǎn)2);
???set(a2?...
??????‘UserData‘[20.2]?...??%magnification?frame?size
??????‘Color‘get(a1‘Color‘)?...
??????‘Box‘‘on‘);
???xlabel(‘‘);?ylabel(‘‘);?zlabel(‘‘);?title(‘‘);
???set(get(a2‘Children‘)?...
??????‘LineWidth‘?2);
???set(a1?...
??????‘Color‘get(a1‘Color‘)*0.95);
???set(f1?...
??????‘CurrentAxes‘a(chǎn)1);
???ButtonMotionCallback(src);
return;
function?ButtonUpCallback(srceventdata)
???H?=?get(src‘UserData‘);
???f1?=?H(1);?a1?=?H(2);?a2?=?H(3);
???set(a1?...
??????‘Color‘get(a2‘Color‘));
???set(f1?...
??????‘UserData‘[]?...
??????‘Pointer‘‘a(chǎn)rrow‘?...
??????‘CurrentAxes‘a(chǎn)1);
???if?~strcmp(get(f1‘SelectionType‘)‘a(chǎn)lt‘)
??????delete(a2);
???end;
return;
function?ButtonMotionCallback(srceventdata)
???H?=?get(src‘UserData‘);
???if?~isempty(H)
??????f1?=?H(1);?a1?=?H(2);?a2?=?H(3);
??????a2_param?=?get(a2‘UserData‘);
??????f_pos?=?get(f1‘Position‘);
??????a1_pos?=?get(a1‘Position‘);
??????[f_cp?a1_cp]?=?pointer2d(f1a1);
??????set(a2‘Position‘[(f_cp./f_pos(3:4))?0?0]+a2_param(2)*a1_pos(3)*[-1?-1?2?2]);
??????a2_pos?=?get(a2‘Position‘);
??? set(a2‘XLim‘a(chǎn)1_c
評論
共有 條評論