绘制具有数据提示的 GraphPlot 对象
创建随机有向图的 GraphPlot 图对象。将额外的节点属性 wifi 添加到该图。
rng default
G = digraph(sprandn(20, 20, 0.05));
G.Nodes.wifi = randi([0 1], 20, 1) == 1;
h = plot(G);
向图中添加数据提示。利用数据提示,您能够选择图论图中的节点并查看节点的属性。
dt = datatip(h,4,3);
默认情况下,无向图的数据提示会显示节点编号和度。对于有向图,显示内容包括节点编号、入度和出度。
自定义数据提示中的现有数据
通过在适当的对象属性中添加、编辑或删除数据行,可以自定义图形对象的数据提示显示。对于此 GraphPlot 对象:
GraphPlot 对象句柄是 h。
h.DataTipTemplate 属性包含控制数据提示显示的对象。
h.DataTipTemplate.DataTipRows 属性将数据提示的数据保留为 DataTipTextRow 对象。
每个 DataTipTextRow 对象都有 Label 和 Value 属性。您可以通过修改这些属性来调整在数据提示中显示的标签或数据。
更改数据提示中节点行的标签,使其显示为“City”。
h.DataTipTemplate.DataTipRows(1).Label = "City";
数据提示现在显示城市编号。
将数据添加到数据提示
dataTipTextRow 函数创建一个可插入 DataTipRows 属性中的新数据行对象。使用 dataTipTextRow 为具有“WiFi”标签的数据提示创建一个新数据行,该数据提示引用图的 G.Nodes.wifi 属性中的值。将此数据提示行作为最后一行添加到 DataTipRows 属性中。
row = dataTipTextRow('WiFi',G.Nodes.wifi);
h.DataTipTemplate.DataTipRows(end+1) = row;
数据提示显示现在包含每个节点的 WiFi 值。
从数据提示中删除数据
要从数据提示中删除数据行,可以对 DataTipRows 属性进行索引,并将这些行分配空矩阵 []。这与从矩阵中删除行或列所用的方法可能相同。
从数据提示中删除入度和出度行。由于这些行在数据提示显示中显示为第二行和第三行,因此它们对应于 DataTipRows 属性的第二行和第三行。
h.DataTipTemplate.DataTipRows(2:3) = [];
数据提示显示现在只显示城市编号和 WiFi 状态。