文档

变焦

打开或关闭缩放或放大的因素

语法

变焦上
放大了
缩小
变焦重置
变焦
变焦发送朴通
放大你
变焦(因素)
变焦(无花果、选项)
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函数时,您用鼠标操作的轴的行为将转移到链接的轴上,而不管您之前为其他轴设置的行为。

选择

使用缩放工具在图形工具栏上放大或缩小图形,或选择放大缩小从图中工具菜单。详细信息请参见放大图表

另请参阅

||

R2006a之前介绍

这个话题有用吗?