Main Content

创建自定义数据提示

当您将光标悬停在数据点上时,将显示数据提示。默认情况下,数据提示包括在图创建过程中指定的数据,它们与单个数据点对应。但对于某些类型的图,您可以自定义数据提示中显示的信息,例如更改数据提示标签或添加新行。

支持这些自定义操作的图具有 DataTipTemplate 属性,例如使用 plot 函数创建的 Line 对象。

更改标签和添加行

修改散点图上的数据提示的内容。首先,加载样本事故数据并创建散点图。然后,以交互方式或使用 datatip 函数创建数据提示。默认情况下,数据提示显示数据点的坐标。

load("accidents.mat","hwydata","statelabel","hwyidx")
s = scatter(hwydata(:,5),hwydata(:,4));
dt = datatip(s,11246.7,1493);

Figure contains an axes object. The axes object contains an object of type scatter.

对于每行,通过访问绘制的对象的 DataTipTemplate 属性并设置 Label 属性,将数据提示标签从 XY 更改为 Drivers (in thousands)Fatalities

s.DataTipTemplate.DataTipRows(1).Label = "Drivers (in thousands)";
s.DataTipTemplate.DataTipRows(2).Label = "Fatalities"; 

向数据提示中添加新行。对于标签,使用 StateHighway Index。对于值,使用工作区中 statelabelhwyidx 变量中包含的州名称和高速公路索引。

dtRows = [dataTipTextRow("State",statelabel),...
    dataTipTextRow("Highway Index",hwyidx)];
s.DataTipTemplate.DataTipRows(end+1:end+2) = dtRows;

Figure contains an axes object. The axes object contains an object of type scatter.

在数据提示中显示表值

修改散点图的数据提示内容,以包含表中的其他值。首先,从患者数据的示例电子表格创建一张表。绘制数据图。然后,以交互方式或使用 datatip 函数创建数据提示。

tbl = readtable("patients.xls");
s = scatter(tbl,"Height","Weight");
dt = datatip(s,64,142);

在数据提示中添加一个新行,该行使用标签 Age,并显示表中“Age”列的值。

row = dataTipTextRow("Age",tbl.Age);
s.DataTipTemplate.DataTipRows(end+1) = row;

Figure contains an axes object. The axes object with xlabel Height, ylabel Weight contains an object of type scatter.

另请参阅

| |

相关主题