Main Content

linkdata

自动更新图数据

说明

使用数据链接来同步图及其工作区变量。链接图会随着工作区变量的更改而自动更新,工作区变量会随着通过刷亮工具进行的图修改而自动更新。

使用 linkdata 函数或从图窗工具栏中选择链接绘图按钮 来链接图和工作区变量。

创建对象

描述

示例

linkdata on 对当前坐标区启用数据链接模式。

linkdata off 关闭数据链接模式。

linkdata'on''off' 之间切换数据链接模式。

示例

linkdata showdialog 打开链接的绘图数据源对话框。使用此语法以交互方式将图与工作区变量同步。

linkdata(fig,___) 为指定的图窗指定数据链接模式。在选项 'on''off' 两侧使用单引号或双引号。例如,linkdata(fig,'on')

l = linkdata 创建一个 LinkData 对象。该语法用于查询数据链接模式。

l = linkdata(fig) 为指定的图窗创建 LinkData 对象。

输入参数

全部展开

目标图窗,指定为 Figure 对象。如果您不指定图窗,则为当前图窗启用或禁用数据链接。

属性

全部展开

此 属性 为只读。

数据链接模式,指定为 'off''on'

示例

全部折叠

创建一个条形图并启用数据链接。数据链接会将条形图与工作区中的 xy 变量同步。

x = linspace(-5,5,11);
y = abs(x);
bar(x,y)
linkdata on

Bar chart. The bar at x = 0 has a height of 0.

修改 y 中的一个值。您会注意到,条形图会立即更新以反映更改。

y(6) = 4;

Updated bar chart. The bar at x = 0 has a height of 4.

使用 linkdata 和刷亮工具在图中选择工作区值,并以交互方式删除工作区值。

创建一些要绘制的数据。您会注意到,xy 包含 21 个值。

x = linspace(-5,5,21);
y = -abs(x);

lengthX = length(x)
lengthY = length(y)
lengthX =

    21


lengthY =

    21

绘制数据,然后启用数据链接和刷亮。

scatter(x,y,'filled')
linkdata on
brush on

突出显示要删除的数据值。要从图中删除刷亮的数据,请右键点击刷亮的值,并从上下文菜单中选择删除

Scatter plot with seven brushed data values

图链接到了其数据源,因此从图中删除值会同时将其从数据源中删除。您会注意到,xy 现在只包含 14 个数据值。

lengthX = length(x)
lengthY = length(y)
lengthX =

    14


lengthY =

    14

将数据链接用于复数。当您绘制复数数据时,数据的实部和虚部并不对应于不同的工作区变量。因此,linkdata 函数无法基于 x 轴和 y 轴识别数据源。要链接复数数据,您必须手动将复数数据的实部指定为 x 分量,将虚部指定为 y 分量。

首先,创建复数数据值矩阵并绘制数据。然后,通过调用 linkdata showdialog 打开链接的绘图数据源对话框。

z = eig(randn(20,20));
plot(z)
linkdata showdialog

Line plot

通过在 XY 下的文本框中键入 real(z)imag(z),手动指定数据的实部和虚部。

Linked plot data sources dialog box

现在图链接到了其数据源。如果您更改 z,则绘图将更新以反映新数据。

要避免使用该对话框,您可以在首次绘制数据值时指定数据源。

z = eig(randn(20,20));
plot(z,'XDataSource','real(z)','YDataSource','imag(z)')
linkdata on

提示

  • 如果 linkdata 无法明确地识别图的数据源,则图将不会与工作区变量同步。如果您调用 linkdata 并且在更改变量时图没有更新,请通过调用 linkdata showdialog 打开链接的绘图数据源对话框,并手动将图链接到其数据源。

  • linkdata 函数以大约每秒两次的速度更新链接的数据源和图。要平滑地动态展示数据值更改,请以每秒两次或更高的频率进行更新。有关详细信息,请参阅 pause 函数。

  • 一旦图与其工作区变量同步,以编程方式更改图的数据属性(例如,XData)将不会导致工作区变量更新。工作区变量仅在您使用刷亮工具以交互方式修改绘图数据时才会更新。

算法

数据链接使用图的数据源属性(例如,XDataSource)来链接图及其工作区变量。对图窗启用数据链接时,MATLAB® 会将工作区中的变量与图窗中的绘图数据进行比较。当找到匹配项时,MATLAB 会将该变量赋给图的相应数据源属性。

版本历史记录

在 R2008a 中推出