将节点属性添加到图论图数据提示
此示例说明如何自定义 GraphPlot
数据提示以显示图的额外节点属性。
绘制具有数据提示的 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;
数据提示显示现在包含每个节点的 Wi-Fi® 值。
从数据提示中删除数据
要从数据提示中删除数据行,可以对 DataTipRows
属性进行索引,并对这些行分配空矩阵 []
。这与从矩阵中删除行或列所用的方法可能相同。
从数据提示中删除入度和出度行。由于这些行在数据提示显示中显示为第二行和第三行,因此它们对应于 DataTipRows
属性的第二行和第三行。
h.DataTipTemplate.DataTipRows(2:3) = [];
数据提示显示现在只显示城市编号和 Wi-Fi 状态。
另请参阅
datatip
| graph
| digraph
| DataTipTemplate 属性