主要内容

锅的图形交互

语法

锅上
潘发送朴通
锅你
锅了

锅(无花果、…)
h =锅(图)

描述

锅上打开锅模式在当前图轴。

潘发送朴通打开锅模式,只允许平移x方向轴在二维视图在当前图。

锅你打开锅模式,只允许平移y方向轴在二维视图在当前图。

锅了关闭轴盘模式在当前图。从R2018b开始,一些锅交互默认启用,不管锅模式。如果你想禁用这些默认的交互,然后使用disableDefaultInteractivity函数。

切换轴的盘模式在当前图

锅(无花果、…)设置轴的平移模式指定的图。

h =锅(图)返回图的锅模式对象的图无花果为您定制的行为模式。

使用平移模式对象

盘模式对象的访问以下属性。

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

  • 运动“水平”|“垂直”|“两”——平移支持的类型图。这个属性只会影响轴在二维视图(90年[0])。

  • FigureHandle <处理>——相关的图处理,不能设置只读属性。

  • 快捷菜单<处理>——指定一个自定义上下文菜单显示在右击行动。

  • UseLegacyExplorationModes“关闭”(默认)|开/关逻辑价值——遗留模式,指定为“上”“关闭”或数字或逻辑1(真正的)或0()。的值“上”相当于真正的,“关闭”相当于。因此,您可以使用这个属性的值作为一个逻辑值。存储的值是作为一个开/关逻辑值的类型matlab.lang.OnOffSwitchState

    将这个属性设置为“上”变化的行为交互模式在UI数据匹配的行为模式在传统的数字。有关更多信息,请参见enableLegacyExplorationModes。一旦这个属性设置“上”,它不能改变“关闭”。这个属性只适用于锅对象数据使用的创建uifigure函数或MATLAB®在线™

盘回调模式

你可以计划以下锅模式操作的回调。

  • ButtonDownFilter < function_handle >——函数拦截ButtonDown事件

    应用程序可以抑制平移操作在程序员定义的情况下,这取决于回调返回。输入函数处理应该引用一个函数有两个隐式参数(类似于图形对象回调):

    函数myfunction (res) = (obj event_obj) %对象obj处理点击% event_obj事件数据在这个版本(空)% res[输出]逻辑标志确定锅%操作是否应该发生(“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 '回调)

盘模式效用函数

以下功能在锅模式查询和设置特定的属性。

  • 旗帜= isAllowAxesPan (h, ax)——函数查询盘轴的许可。

    调用的函数isAllowAxesPan锅上的对象,h轴矢量的处理,斧头作为输入,返回一个逻辑数组相同的维向量的轴手柄,这表明在轴盘操作是否允许对象。

  • setAllowAxesPan (h, ax,标志)——函数设置盘轴的许可。

    调用的函数setAllowAxesPan锅上的对象,h轴矢量的处理,斧头一个逻辑标量,国旗允许或不允许轴上的平底锅操作对象。

  • cn = getAxesPanConstraint (h, ax)——函数约束的锅操作。

    调用的函数getAxesPanConstraint锅上的对象,h一个坐标轴对象,斧头作为输入,返回轴的约束。返回的约束条件是这些值之一:“x”,“y”,“z”,“xy”,“xz”,“yz”,或无约束的

  • setAxesPanConstraint (h, ax, cnstr)——函数设置锅操作的约束。

    调用的函数setAxesPanConstraint锅上的对象,h一个坐标轴对象,斧头,一个约束选项,cnstr为轴,设置约束。约束指定为这些值之一:“x”,“y”,“z”,“xy”,“xz”,“yz”,或无约束的

  • 猪圈= getAxes3DPanAndZoomStyle (h, ax)——函数得到的锅操作风格。

    调用的函数getAxes3DPanAndZoomStyle锅上的对象,h轴矢量的处理,斧头作为输入,返回为每个轴平移的风格。返回的值为每个轴“限制”“相机”

  • setAxes3DPanAndZoomStyle (h, ax,风格)——函数设置风格的平底锅的操作。

    调用的函数setAxes3DPanAndZoomStyle锅上的对象,h轴矢量的处理,斧头和一个字符数组,风格每个轴上,平移的风格。指定样式“限制”“相机”

  • 中枢神经系统= getAxesPanMotion (h, ax)——函数约束的锅操作(不推荐使用getAxesPanConstraint)。

    调用的函数getAxesPanMotion锅上的对象,h坐标轴对象的向量,斧头作为输入,返回一个字符相同单元阵列的维度斧头,这表明每个轴的约束。每个轴的返回值“水平”,“垂直”“两个”

  • setAxesPanMotion (h, ax,约束)——函数约束的锅操作(不推荐使用setAxesPanConstraint)。

    调用的函数setAxesPanMotion锅上的对象,h坐标轴对象的向量,斧头和一个字符数组,约束为每个轴,设置约束。指定的约束“水平”,“垂直”“两个”

例子

全部折叠

画一个图,打开锅模式:

情节(魔法(10));锅%锅的阴谋

限制锅,x设在:

情节(魔法(10));h =锅;h。运动=“水平”;h。使=“上”;%锅在水平方向上情节。

创建四个轴作为次要情节和给每个不同的平移行为:

ax₁=次要情节(2 2 1);情节(1:10);h =锅;ax2 =情节(2 2 2);情节(兰德(3));setAllowAxesPan (h, ax2假);ax3 =次要情节(2、2、3);情节(峰);setAxesPanMotion (h, ax3“水平”);大举裁员=次要情节(2、2、4);轮廓(峰);setAxesPanMotion (h,大举裁员,“垂直”);%锅的阴谋。

创建一个buttonDown触发回调锅模式对象。将下面的代码复制到一个新文件,执行它,并观察平移行为:

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

为前和后创建回调ButtonDown盘模式对象触发事件。将下面的代码复制到一个新文件,执行它,并观察平移行为:

函数演示%听潘事件情节(1:10);h =锅;h。ActionPreCallback = @myprecallback;h。ActionPostCallback = @mypostcallback;h。使=“上”;%函数myprecallback (obj, evd) disp (“一锅即将发生。”);%函数mypostcallback (obj, evd) newLim = evd.Axes.XLim;对话框(sprintf (“新X-Limits [% .2f, % .2f]。newLim));

创建一个上下文菜单,允许用户切换到放大模式:单击右键

图绘制(魔法(10));hCM = uicontextmenu;句柄= uimenu (“父”hCM,“标签”,“切换到放大”,“回调”,“变焦(gcbf,“上”));hPan =锅(gcf);hPan。快捷菜单= hCM;锅(“上”)

提示

您可以创建一个锅模式对象,使用它来定制不同的行为轴。你也可以改变它的回调函数。

请注意

不改变图回调在一个交互模式。活跃模式时(当平移,缩放等),你会收到一个警告如果你试图改变图的任何回调,操作将不会成功。一个例外是图WindowButtonMotionFcn回调,这可以从内部改变模式。因此,如果你正在创建一个UI更新图的回调,UI交互模式的一些跟踪应该是活跃的,如果有的话,在尝试这样做。

当你分配不同的锅行为不同次要情节轴通过模式对象,然后将它们链接使用linkaxes功能,你用鼠标操纵轴的行为带有连接轴,不管你之前设置其他轴的行为。

选择

使用工具栏上的工具启用和禁用锅模式情节,或选择从图的工具菜单。

版本历史

之前介绍过的R2006a

全部展开

不推荐在R2020a开始