文档

datacursormode

启用、禁用和管理交互数据游标模式

语法

datacursormode上
datacursormode掉
datacursormode
datacursormode切换
datacursormode (figure_handle)
Dcm_obj = datacursormode(figure_handle)

描述

datacursormode上在当前图上启用数据游标模式。

datacursormode掉在当前图上禁用数据游标模式。

datacursormodedatacursormode切换切换当前图中的数据游标模式。

datacursormode (figure_handle)启用或禁用指定图上的数据游标模式。

Dcm_obj = datacursormode(figure_handle)返回图的数据游标模式对象。该对象使您能够自定义数据游标。有关数据游标模式对象的更多信息,请参见输出参数.的调用中无法更改数据游标模式的状态datacursormode它返回一个模式对象。

一个数据指针是带白色边框的黑色小方块,您可以以数据游标模式在图上以交互方式定位它。单击图形对象(例如图形上的一条线)时,会出现数据提示出现了。数据提示是在数据游标位置显示数据值的轴内浮动的小文本框或窗口。默认的样式是一个文本框。数据提示列表x- - - - - -,y-及(如适用)z-每次一个数据点的值。看到例子为了说明这两种风格。

输入参数

figure_handle

可选图形窗口手柄

默认值:目前的数字

状态

“切换”“上”,或“关闭”

默认值:“切换”

输出参数

dcm_obj

使用返回的对象datacursormode控制数据游标行为的各个方面。您可以使用而且得到设置和查询对象属性值的命令。通过为这些对象编写回调函数,可以自定义数据游标模式显示信息的方式。

名称-值对实参

下面的参数应用于调用返回的对象datacursormode而不是函数本身。

DisplayStyle

数据提示|窗口

确定数据游标的显示方式。

  • datatip在一个小的黄色文本框中显示数据游标信息,该文本框附在您交互选择的数据点上的黑色方形标记上。

  • 窗口显示在图中的浮动窗口中以交互方式选择的数据点的数据游标信息。

默认值:datatip

启用

关|

指定当前是否为图启用数据游标模式。

默认值:

数字

处理

与数据游标模式对象关联的图的句柄。

SnapToDataVertex

关|

指定数据游标是锁定到最近的数据值还是位于实际的指针位置。

默认值:

UpdateFcn

函数处理

对格式化数据游标中出现的文本的函数的引用。您可以提供自己的函数来定制数据提示显示。函数必须至少包含两个参数。第一个参数未使用,可以是变量名或波浪号().第二个参数将数据游标事件对象传递给更新函数。事件对象封装数据游标的状态。下面的函数定义说明了update函数:

function output_txt = myfunction(~,event_obj) % ~当前未使用(空)% event_obj包含事件数据结构的对象% output_txt数据游标文本

event_obj是具有以下属性的对象。

目标

数据游标所引用的对象的句柄(例如,您单击的对象,系列中的一行或条)

位置

指定xy(和z3-D图形)光标的坐标

您可以在函数中查询这些属性。例如,

pos = get(event_obj,'Position');

返回光标的坐标。访问该数据的另一种方法是获取结构并查询其位置字段:

Eventdata = get(event_obj);pos = eventdata.Position;
你也可以直接从对象中获取位置:
pos = event_obj.Position;

可以重新定义数据游标Updatefcn在运行时。例如:

集(dcm_obj, UpdateFcn @myupdatefcn)
应用函数myupdatefcn到当前数据提示或提示。当你以这种方式设置一个更新函数时,该函数必须在MATLAB上®路径。如果选择数据游标模式上下文菜单项选择文本更新功能,您可以交互式地选择不在路径上的函数。

不重新定义图形窗口回调吗,例如ButtonDownFcnKeyPressFcn,或CloseRequestFcn而在数据游标模式.如果你试图改变任何数字当您处于交互模式时回调,您将收到一个警告,并且尝试失败。MATLAB交互模式为:

  • datacursormode

  • rotate3d

  • 变焦

此限制不适用于更改图形WindowButtonMotionFcn回调或uicontrol回调。

查询数据游标方式

使用getCursorInfo函数来查询数据游标模式对象(dcm_obj)来获取有关数据游标的信息。例如,

info_struct = getCursorInfo(dcm_obj);

返回一个结构向量,对应图上的每个数据游标。每个结构都有以下字段。

目标

包含数据点的图形对象的句柄

位置

指定xy(和z)光标的坐标

Line和lineseries对象有一个附加字段。

DataIndex

指向与最近数据点对应的数据数组的标量索引。每个数组的值都是相同的。

看到输出参数有关数据游标模式对象的详细信息。

例子

这个示例创建一个图,并从命令行启用数据游标模式。

冲浪(峰值)数据采集模式单击表面上的鼠标可显示数据光标

在表面上选择一个点,打开一个数据提示,显示其x- - - - - -,y-和z坐标。

控件将数据提示显示样式更改为窗口而不是文本框工具>选项>在窗口中显示光标,或使用上下文菜单显示风格>窗内图可以在坐标轴内移动的浮动窗口中查看数据提示。

可以在同一图上放置多个文本框数据提示,数据提示的窗口样式一次只显示一个值。有关与数据游标交互的更多信息,包括点选择选项和将数据提示导出到工作区,请参见交互式显示数据值

此示例在当前图上启用数据游标模式,并设置数据游标模式选项。以下陈述

  • 创建一个图表

  • 将数据游标模式切换为打开

  • 获取数据游标模式对象,指定数据提示选项,并获取数据提示占用的行句柄:

    图=图;Z =峰;Plot (z(:,30:35)) dcm_obj = datacursormode(图);集(dcm_obj,‘DisplayStyle’,‘datatip’,……'SnapToDataVertex','off','Enable','on') disp('单击行显示数据提示,然后按返回。')%等待用户执行此操作。pause c_info = getCursorInfo(dcm_obj);%设置所选行宽集(c_info.Target,'LineWidth',2)

这个例子向您展示了如何自定义数据游标显示的文本。例如,您可以替换数据提示和数据窗口中显示的文本(x:而且y:),时间:而且振幅:通过创建一个简单的更新函数。

在运行以下函数之前,将它们保存在您的当前目录或MATLAB路径上的任何可写目录中。因为它们是函数,所以不能高亮显示它们,然后求值选择以使它们工作。

将此代码保存为doc_datacursormode.m

绘制图形并设置一个自定义的数据提示更新函数fig = figure;A = -16;T = 0:60;Plot (t,sin(a*t)) dcm_obj = datacursormode(图);集(dcm_obj, UpdateFcn @myupdatefcn)

将以下代码保存为myupdatefcn.m在MATLAB路径上:

函数txt = myupdatefcn(empt,event_obj) %自定义数据提示文本pos = get(event_obj,'Position');txt = {['Time: ',num2str(pos(1))],…(振幅:,num2str (pos (2))]};

要设置和使用更新功能,输入:

doc_datacursormode
当您使用此更新功能放置数据提示时,它看起来如下图所示。

提示

  • 大多数类型的图和3-D图支持数据游标模式,但有些不支持(金宝app帕累托)。

  • 极坐标图支持数据提示,但金宝app显示笛卡尔坐标而不是极坐标。

  • 创建的直方图柱状图显示专门的数据提示,逐项记录观察计数和箱边。

  • 只能通过单击图上的数据对象来放置数据提示。您不能以编程方式放置它们(通过执行代码来定位数据游标)。

  • DisplayStyledatatip,您可以在一个图上放置多个数据提示。当DisplayStyle窗口在美国,它只报告了最新的数据提示。

  • datacursormode掉退出数据游标模式,但不删除显示的数据提示。然而,如果DisplayStyle窗口,数据提示窗口消失。

选择

使用数据游标工具标签xy,z图形和曲面上的值。通过右键单击并从上下文菜单中选择项,可以控制数据提示的显示方式。

R2006a之前介绍过

这个话题有帮助吗?