创建自定义数据提示
当您将光标悬停在数据点上时,将显示数据提示。默认情况下,数据提示显示所选点的坐标。但对于某些类型的图,您可以自定义数据提示中显示的信息,例如更改数据提示标签或添加新行。
支持这些自定义操作的图具有 DataTipTemplate
属性,例如使用 plot
函数创建的 Line
对象。
更改标签和添加行
修改散点图上的数据提示的内容。首先,加载样本事故数据并创建散点图。然后,以交互方式或使用 datatip
函数创建数据提示。默认情况下,数据提示显示数据点的坐标。
load('accidents.mat','hwydata','statelabel') s = scatter(hwydata(:,5),hwydata(:,4)); dt = datatip(s,11246.7,1493);
对于每行,通过访问绘制的对象的 DataTipTemplate
属性并设置 Label
属性,将数据提示标签从 X
和 Y
更改为 Drivers (in thousands)
和 Fatalities
。
s.DataTipTemplate.DataTipRows(1).Label = 'Drivers (in thousands)'; s.DataTipTemplate.DataTipRows(2).Label = 'Fatalities';
在数据提示中添加一个新行。对于标签,使用 State
。对于值,使用工作区中 statelabel
变量所包含的州名称。
row = dataTipTextRow('State',statelabel);
s.DataTipTemplate.DataTipRows(end+1) = row;
在数据提示中显示表值
修改散点图的数据提示内容,以包含表中的值。首先,从患者数据的示例电子表格创建一张表。绘制数据图。然后,以交互方式或通过使用 datatip
函数创建数据提示。
tbl = readtable('patients.xls');
s = scatter(tbl.Height,tbl.Weight);
dt = datatip(s,64,142);
将数据提示标签从 X
和 Y
更改为 Height
和 Weight
。然后在数据提示中添加一个新行,该行使用标签 Age
,并显示表中“Age”列的值。
s.DataTipTemplate.DataTipRows(1).Label = 'Height'; s.DataTipTemplate.DataTipRows(2).Label = 'Weight'; row = dataTipTextRow('Age',tbl.Age); s.DataTipTemplate.DataTipRows(end+1) = row;
如果使用的是 R2018b 或更早版本,请通过设置 datacursormode
对象的 UpdateFcn
属性(而不是使用 DataTipTemplate
对象)来自定义数据提示。
另请参阅
dataTipTextRow
| DataTipTemplate 属性 | datatip