变焦
打开或关闭缩放或放大的因素
语法
变焦上
放大了
缩小
变焦重置
变焦
变焦发送朴通
放大你
变焦(因素)
变焦(无花果、选项)
H =缩放(figure_handle)
描述
变焦上
打开交互式缩放。在图形中启用交互式缩放时,当您的光标位于一个轴内时,按下鼠标按钮将放大到鼠标下方的点或缩小到该点。缩放会改变轴的限制。使用缩放模式时,您可以
通过将鼠标光标定位到你想要的图的中心来放大
按下鼠标按钮或
旋转鼠标滚轮远离你(向上)。
通过将鼠标光标定位到想要的绘图中心位置来缩小
同时按下转变还有鼠标按钮,或者
向您方向旋转鼠标滚轮(向下)。
每次鼠标点击或滚轮点击都会放大或缩小2倍。
当启用缩放时,单击并拖动轴会绘制一个橡皮筋框。松开鼠标按钮时,轴将放大到橡皮筋框所包围的区域。
双击一个轴可以在放大和缩小模式下将该轴返回到其初始缩放设置。
放大了
关闭互动缩放。
缩小
将图形返回到其初始缩放设置。
变焦重置
记住当前缩放设置为初始缩放设置。稍后调用缩小
,或双击当互动变焦
模式已启用,将返回此缩放级别。
变焦
在关闭和打开之间切换交互式缩放状态(恢复最近使用的缩放工具)。
变焦发送朴通
而且放大你
集变焦上
为x- - -y分别设在。
变焦(因素)
按指定的缩放因子放大或缩小,不影响交互缩放模式.大于1的值按此值放大,而大于0且小于1的数字按此值缩小1 /因素
.
变焦(无花果、选项)
使用此语法,可以在当前图形以外的图形上指定上述任何选项。
H =缩放(figure_handle)
返回缩放模式对象对于图figure_handle
供您自定义模式的行为。
使用缩放模式对象
您可以访问以下属性。
启用
“上”|“了”
-指定当前是否在图形上启用此图形模式。FigureHandle <处理>
—关联的图形句柄,不能设置的只读属性。运动
“水平”|“垂直”|“两”
—启用图形的缩放类型。此属性仅影响2-D视图中的轴(90年[0]
).方向
“在”|“了”
-缩放操作的方向。RightClickAction
“InverseZoom”|“PostContextMenu”
—右键操作的行为。值为
“InverseZoom”
使右键单击缩小。值为“PostContextMenu”
显示上下文菜单。此设置在MATLAB之间保持不变®会话。UIContextMenu <处理>
-指定在右键操作时显示的自定义上下文菜单。属性,则忽略此属性
RightClickAction
属性已设置为“InverseZoom”
.
缩放模式回调
您可以为缩放模式操作编写以下回调。
ButtonDownFilter < function_handle >
-拦截功能ButtonDown
事件应用程序可以在程序员定义的情况下抑制缩放操作,这取决于回调返回的内容。输入函数句柄应该引用一个带有两个隐式参数的函数(类似于图形对象回调),如下所示:
函数[res] = myfunction(obj,event_obj)所单击对象的% obj句柄用于事件数据的% event_obj结构体(本版本为空)% res [output]一个逻辑标志决定是否缩放%操作应该发生(对于'res'设置%转换为'false'或'ButtonDownFcn'属性对象的%应该优先(当% 'res'为'true')
ActionPreCallback < function_handle >
-缩放前执行的函数如果希望在缩放操作开始时执行代码,请设置此回调。输入函数句柄应该引用一个带有两个隐式参数的函数(类似于图形对象回调),如下所示:
函数myfunction (obj event_obj)% obj句柄到所单击的图形包含事件数据结构的% event_obj对象
事件数据具有以下字段。
轴
被放大的轴的手柄
ActionPostCallback < function_handle >
-缩放后执行的函数如果希望在缩放操作结束时执行代码,则设置此回调。输入函数句柄应该引用一个带有两个隐式参数的函数(类似于图形对象回调),如下所示:
函数myfunction (obj event_obj)% obj句柄到所单击的图形包含事件数据结构的% event_obj对象的事件数据% 'ActionPreCallback'
缩放模式实用功能
以下函数在缩放模式下查询和设置其某些属性。
flags = isAllowAxesZoom(h,ax)
—查询缩放轴的权限。调用函数
isAllowAxesZoom
在缩放对象上,h
,用一个轴柄向量,斧头
,作为输入返回一个与坐标轴句柄向量具有相同维度的逻辑数组,它指示是否允许对坐标轴对象进行缩放操作。setAllowAxesZoom (h, ax,标志)
-设置缩放轴的权限。调用函数
setAllowAxesZoom
在缩放对象上,h
,用一个轴柄向量,斧头
,和逻辑标量,国旗
,允许或禁止对坐标轴对象进行缩放操作。cn = getAxesZoomConstraint(h,ax)
-函数获取缩放操作的约束。调用函数
getAxesZoomConstraint
在缩放对象上,h
,使用axis对象,斧头
,作为输入返回轴的约束。返回的约束是以下值之一:“x”
,“y”
,“z”
,“xy”
,“xz”
,“yz”
,或无约束的
.setAxesZoomConstraint (h, ax, cnstr)
-函数设置缩放操作的约束。调用函数
setAxesZoomConstraint
在缩放对象上,h
,使用axis对象,斧头
,和约束选项,cnstr
,设置轴的约束。将约束指定为以下值之一:“x”
,“y”
,“z”
,“xy”
,“xz”
,“yz”
,或无约束的
.sty = getAxes3DPanAndZoomStyle(h,ax)
-函数来获得缩放操作的风格。调用函数
getAxes3DPanAndZoomStyle
在缩放对象上,h
,用一个轴柄向量,斧头
,作为输入返回每个轴的缩放样式。每个轴的返回值是其中之一“限制”
或“相机”
.setAxes3DPanAndZoomStyle (h, ax,风格)
-函数设置缩放操作的风格。调用函数
setAxes3DPanAndZoomStyle
在缩放对象上,h
,用一个轴柄向量,斧头
,和字符数组,风格
,设置每个轴上的缩放样式。指定样式为任意一种“限制”
或“相机”
.cns = getAxesZoomMotion(h,ax)
-获取缩放操作约束的函数(不建议使用getAxesZoomConstraint
).调用函数
getAxesZoomMotion
在缩放对象上,h
,用坐标轴对象的向量表示,斧头
,作为输入返回相同维度的字符单元格数组斧头
,表示每个轴的约束。每个轴的返回值为“水平”
,“垂直”
或“两个”
.setAxesZoomMotion (h, ax,约束)
-设置缩放操作约束的函数(不建议使用setAxesZoomConstraint
).调用函数
setAxesZoomMotion
在缩放对象上,h
,用坐标轴对象的向量表示,斧头
,和字符数组,风格
,为每个轴设置约束。将约束指定为“水平”
,“垂直”
或“两个”
.
例子
例1 -进入缩放模式
绘制图形并打开缩放模式:
情节(1:10);变焦在放大这幅图
例2 -受限缩放
创建缩放模式对象并约束为x设在缩放。
请注意
从R2014b开始,您可以使用点表示法设置属性。如果您正在使用较早的版本,请使用集
用函数代替,比如集(h,“运动”、“水平”)
.
情节(1:10);H =缩放;h.运动=“水平”;h.Enable = 'on';在水平方向上放大图。
例3 -子图受限缩放
创建四个轴作为子图,并通过为每个轴句柄设置不同的属性来设置不同的缩放样式:
Ax1 = subplot(2,2,1);情节(1:10);H =缩放;Ax2 = subplot(2,2,2);情节(兰德(3));setAllowAxesZoom (h, ax2假);Ax3 = subplot(2,2,3);情节(峰);setAxesZoomMotion (h, ax3“水平”);Ax4 = subplot(2,2,4);轮廓(峰);setAxesZoomMotion (h,大举裁员,“垂直”);放大图。
例4 -编写ButtonDown回调
为要触发的缩放模式对象创建一个buttonDown回调。将以下代码复制到一个新文件中,执行它,并观察缩放行为。
请注意
从R2014b开始,您可以使用点表示法设置属性。如果您正在使用较早的版本,请使用集
用函数代替,比如集(线,ButtonDownFcn”、“disp(“这执行”)')
.
函数演示允许一行有自己的'ButtonDownFcn'回调。hLine = plot(rand(1,10));线。ButtonDownFcn =“disp(“这执行”)”;线。标签=“DoNotIgnore”;H =缩放;h.ButtonDownFilter = @mycallback;h.Enable =“上”;%鼠标单击该行%函数[flag] = mycallback(obj,event_obj)如果对象的标签是'DoNotIgnore',则返回true。objTag = obj.Tag;如果strcmpi (objTag“DoNotIgnore”) flag = true;其他的Flag = false;结束
例5 -编码前回调和后回调行为
为要触发的缩放模式对象创建前和后buttondown事件的回调。将以下代码复制到一个新文件中,执行它,并观察缩放行为。
请注意
从R2014b开始,您可以使用点表示法设置属性。如果您正在使用较早的版本,请使用集
用函数代替,比如集(h, ActionPreCallback, @myprecallback)
.
函数演示收听zoom事件情节(1:10);H =缩放;h.ActionPreCallback = @myprecallback;h.ActionPostCallback = @mypostcallback;h.Enable =“上”;%函数myprecallback (obj, evd) disp (“变焦即将发生。”);%函数mypostcallback(obj,evd) newLim = evd. ax . xlim;对话框(sprintf (“新的x限制是[%。2 f % .2f]。”newLim));
例6 -创建缩放模式的上下文菜单
编写上下文菜单,让用户通过右键单击切换到Pan模式。
请注意
从R2014b开始,您可以使用点表示法设置属性。如果您正在使用较早的版本,请使用集
用函数代替,比如集(hZoom, UIContextMenu hCMZ)
.
图(magic(10)) hCMZ = uicontextmenu;hZMenu = uimenu(“父”hCMZ,“标签”,“切换到平底锅”,...“回调”,“潘(gcbf,“上”));hZoom =缩放(gcf);hZoom。UIContextMenu = hCMZ;变焦(“上”)
提示
变焦
当光标位于一个轴内时,每次按下鼠标按钮时,将轴限制更改为2倍(in或out)。您也可以单击并拖动鼠标来定义缩放区域,或双击返回到初始缩放级别。
您可以创建一个缩放模式对象,并使用它来定制不同轴的行为,如示例3所示。您还可以动态地更改它的回调函数。
请注意
不要在交互模式中更改图形回调。当一个模式处于活动状态时(当平移、缩放等),如果您试图更改图形的任何回调,并且操作将不成功,则会收到警告。这个规则的一个例外是图形WindowButtonMotionFcn
回调函数,可以在模式内更改。因此,如果您正在创建一个更新图形回调的UI,那么在尝试执行此操作之前,UI应该以某种方式跟踪哪种交互模式处于活动状态(如果有的话)。
当你分配不同的缩放行为给不同的次要情节
的模式对象将它们链接起来linkaxes
函数时,您用鼠标操作的轴的行为将转移到链接的轴上,而不管您之前为其他轴设置的行为。
选择
使用缩放工具在图形工具栏上放大或缩小图形,或选择放大或缩小从图中工具菜单。详细信息请参见放大图表.