文档

变焦

转动放大或关闭或按因素放大或放大

语法

变焦上
缩小
缩小
变焦重置
变焦
变焦发送朴通
放大你
变焦(因素)
变焦(无花果、选项)
h = zoom(figup_handle)

描述

变焦上开启交互式缩放。当在图形中启用交互式缩放时,当光标在坐标轴内时,按下鼠标按钮可以向鼠标下方的点放大或向外放大。缩放改变轴的限制。当使用缩放模式时,你

  • 通过将鼠标光标定位到您想要的图的中心位置或任意位置来放大

    • 按下鼠标按钮或

    • 旋转鼠标滚轮远离你(向上)。

  • 通过将鼠标光标定位到您想要的图形中心位置或任意位置来缩小

    • 同时按下转变和鼠标按钮,或

    • 向你的方向(向下)旋转鼠标滚轮。

每次鼠标点击或滚动滚轮点击都会放大或缩小2倍。

当启用了放大功能时,单击并拖动一个轴将绘制一个橡皮带框。当您松开鼠标按钮时,坐标轴将放大到由橡皮筋框包围的区域。

在放大和缩小模式下,双击坐标轴将返回坐标轴的初始缩放设置。

缩小转动交互式缩放。

缩小将情节返回到最初的缩放设置。

变焦重置记住当前缩放设置作为初始缩放设置。后来电话缩小,或者双击当互动变焦模式已启用,将返回此缩放级别。

变焦在关闭和打开之间切换交互式缩放状态(恢复最近使用的缩放工具)。

变焦发送朴通放大你变焦上为了x- - -y分别设在。

变焦(因素)通过指定的缩放系数放大或缩小,而不影响交互缩放模式.大于1的值将被放大,而大于0且小于1的数字将被缩小1 /因素

变焦(无花果、选项)可以在使用此语法的当前图形之外的图中指定任何前面的选项。

h = zoom(figup_handle)返回一个放大模式对象的图图_Handle.以自定义模式的行为。

使用缩放模式对象

您可以访问以下属性。

  • 启用“上”|“了”—指定图形当前是否启用此图形模式。

  • FigureHandle <处理>—关联的图形句柄,为只读属性,不能设置。

  • 运动'水平'|'垂直'|'两个'—图的放大类型。此属性仅影响二维视图中的轴(90年[0]).

  • 方向“在”|“了”—缩放操作的方向。

  • RightClickaction.“InverseZoom”|“PostContextMenu”-右键操作的行为。

    的值“InverseZoom”导致右键单击缩小。的值'postcontextmenu'显示上下文菜单。此设置仍然存在MATLAB®会话。

  • UIContextMenu <处理>- 指定要在右键单击操作期间显示的自定义上下文菜单。

    如果RightClickaction.属性已设置为“InverseZoom”

缩放模式回调

您可以为缩放模式操作编写以下回调程序。

  • ButtonDownFilter < function_handle >- 拦截功能屁股事件

    应用程序可以在程序员定义的情况下禁止缩放操作,具体取决于回调返回。输入函数句柄应该引用一个带有两个隐式参数的函数(类似于图形对象回调函数),如下所示:

    函数(res) = myfunction (obj event_obj)对象的% obj句柄% event_obj struct用于事件数据(本版本为空)% res [output]逻辑标志决定是否缩放应发生%操作(对于'res'集%到'false'或'ButtonDownFcn'属性对象的%应该优先(当%'Res'是'真')
  • ActionPreCallback < function_handle >—缩放前执行的命令

    如果您想在缩放操作开始时执行代码,请设置此回调。输入函数句柄应该引用一个带有两个隐式参数的函数(类似于图形对象回调函数),如下所示:

    函数myfunction (obj event_obj)点击的图形的% obj句柄% event_obj对象,包含事件数据的结构

    事件数据有以下字段。

    被缩放的轴的柄

  • ActionPostCallback < function_handle >- 在缩放后执行的函数

    如果您想在缩放操作结束时执行代码,请设置此回调。输入函数句柄应该引用一个带有两个隐式参数的函数(类似于图形对象回调函数),如下所示:

    函数myfunction (obj event_obj)点击的图形的% obj句柄% event_obj对象,包含事件数据的结构的事件数据%的ActionPreCallback回调)

缩放模式实用功能

以下在缩放模式查询中的函数并设置其特定属性。

  • 旗帜= isAllowAxesZoom (h, ax)—查询缩放轴权限。

    调用的函数isAllowAxesZoom在缩放对象上,h,带有轴柄向量,斧头,作为输入返回与坐标轴句柄向量相同维度的逻辑数组,该数组指示是否允许对坐标轴对象进行缩放操作。

  • setAllowAxesZoom (h, ax,标志)—设置缩放轴的权限。

    调用的函数setAllowAxesZoom在缩放对象上,h,带有轴柄向量,斧头,和逻辑标量,旗帜,允许或不允许对轴对象进行缩放操作。

  • cn = getAxesZoomConstraint (h, ax)-获取缩放操作约束的功能。

    调用的函数getAxesZoomConstraint在缩放对象上,h,带有一个轴对象,斧头,作为输入返回轴的约束。返回的约束是以下值之一:“x”“y”“z”'xy''xz''yz',或无约束的

  • setAxesZoomConstraint (h, ax, cnstr)—设置缩放操作的限制。

    调用的函数setaxeszoomConstraint.在缩放对象上,h,带有一个轴对象,斧头,以及一个约束选项,cnstr,设置轴的约束。将约束指定为以下值之一:“x”“y”“z”'xy''xz''yz',或无约束的

  • 猪圈= getAxes3DPanAndZoomStyle (h, ax)- 获取缩放操作样式的功能。

    调用的函数getaxes3dpanandzoomstyle.在缩放对象上,h,带有轴柄向量,斧头,作为输入返回每个轴的缩放样式。每个轴的返回值是“限制”'相机'

  • setAxes3DPanAndZoomStyle (h, ax,风格)-设置缩放操作的样式。

    调用的函数setAxes3DPanAndZoomStyle在缩放对象上,h,带有轴柄向量,斧头,以及字符数组,风格,设置每个轴的缩放样式。指定样式为其中之一“限制”'相机'

  • CNS = GetaxeszoOmotion(H,AX)- 获取缩放操作的限制功能(不推荐,使用getAxesZoomConstraint).

    调用的函数getAxesZoomMotion在缩放对象上,h,带有坐标轴对象的矢量,斧头,因为输入返回的字符单元格数组与斧头,这表示每个轴的约束。每个轴的返回值是“水平”“垂直”“两个”

  • setaxeszoomotion(h,ax,约束)- 设置缩放操作约束的功能(不建议,使用setaxeszoomConstraint.).

    调用的函数setAxesZoomMotion在缩放对象上,h,带有坐标轴对象的矢量,斧头,以及字符数组,风格,设置每个轴的约束。指定约束“水平”“垂直”“两个”

例子

示例1 - 输入缩放模式

绘制图形并打开缩放模式:

情节(1:10);变焦放大情节

示例2 -受限缩放

创建缩放模式对象并约束x-axis zooming。

    注意:从R2014b开始,您可以使用点表示法设置属性。如果您正在使用较早的版本,请使用函数代替,如集(h,“运动”、“水平”)

情节(1:10);h =放大;h.Motion =“水平”;H.ENABLE ='ON';%放大在水平方向上的绘图上。

示例3 -子图的受限缩放

创建四个轴作为子图,并通过为每个轴手柄设置不同的属性为每个轴设置不同的缩放样式:

ax₁=次要情节(2 2 1);情节(1:10);h =放大;ax2 =情节(2 2 2);情节(兰德(3));setAllowAxesZoom (h, ax2假);ax3 =次要情节(2、2、3);情节(峰);setAxesZoomMotion (h, ax3“水平”);大举裁员=次要情节(2、2、4);轮廓(峰);setAxesZoomMotion (h,大举裁员,“垂直”);放大图表。

例4 -编码一个ButtonDown回调

为缩放模式对象创建一个Quitdondown回调以触发。将以下代码复制到新文件,执行它,并观察缩放行为。

    注意:从R2014b开始,您可以使用点表示法设置属性。如果您正在使用较早的版本,请使用函数代替,如集(线,ButtonDownFcn”、“disp(“这执行”)')

函数演示%允许一行有自己的'ButtonDownFcn'回调。线=情节(兰德(10));线。ButtonDownFcn =“disp(“这执行”)”;线。标签=“DoNotIgnore”;h =放大;h.ButtonDownFilter = @mycallback;h.Enable =“上”%鼠标在直线上点击函数[标记]= mycallback (obj event_obj)%如果对象的标记是'DoNotIgnore',则返回true。objTag = obj.Tag;如果strcmpi (objTag“DoNotIgnore”) flag = true;其他的国旗= false;结束

示例5 -编码前和后回调行为

为要触发的缩放模式对象创建按钮下降前后事件的回调。复制以下代码到一个新文件,执行它,并观察缩放行为。

    注意:从R2014b开始,您可以使用点表示法设置属性。如果您正在使用较早的版本,请使用函数代替,如集(h, ActionPreCallback, @myprecallback)

函数演示%收听缩放事件情节(1:10);h =放大;h.ActionPreCallback = @myprecallback;h.ActionPostCallback = @mypostcallback;h.Enable =“上”函数myprecallback (obj, evd) disp (“即将发生变焦。”);函数mypostcallback(obj,evd)newlim = evd.axes.xlim;msgbox(Sprintf(“新的X限制是[%.2f%.2f]。'newLim));

例6 -为缩放模式创建一个上下文菜单

编写一个上下文菜单,允许用户通过右键单击切换到Pan模式。

    注意:从R2014b开始,您可以使用点表示法设置属性。如果您正在使用较早的版本,请使用函数代替,如SET(Hzoom,'UIContextMenu',HCMZ)

figure plot(magic(10)) hCMZ = uicontextmenu;hZMenu = uimenu (“父”hCMZ,“标签”“切换到锅”...“回调”“潘(gcbf,“上”));hZoom =变焦(gcf);hZoom。UIContextMenu = hCMZ;变焦(“上”
您无法将项目添加到内置缩放上下文菜单,但您可以使用自己的替换。

提示

变焦当光标在坐标轴内时,每次按下鼠标按钮,将坐标轴限制改为2倍(进或出)。您也可以单击并拖动鼠标来定义缩放区域,或双击返回初始缩放级别。

您可以创建一次缩放模式对象,并使用它来自定义不同轴的行为,如示例3所示。您还可以在飞行中更改其回调函数。

    注意:不要在交互模式中更改图形回调。当一个模式是活动的(当平移、缩放等),如果您试图更改图形的任何回调,并且操作不会成功,您将收到一个警告。这个规则的一个例外是数字WindowButtonMotionFcn回调,可以从模式中更改。因此,如果您正在创建更新图形的回调的UI,则UI应某种方式跟踪哪个交互模式在尝试执行此操作之前,如果有的话,如果有的话。

当你将不同的缩放行为分配给不同的子图通过模式对象来连接坐标轴,然后使用linkaxes函数时,使用鼠标操作的坐标轴的行为将转移到链接的坐标轴上,而与您先前为其他坐标轴设置的行为无关。

选择

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

另请参阅

||

之前介绍过的R2006a

这个话题有用吗?