主要内容

添加图节点名称、边权重和其他属性

这个例子展示了如何在使用图形dig。最初调用时,您可以指定节点名称或边缘权重图形dig创建图表。但是,此示例显示如何在创建它之后将属性添加到图形。

创建图形

创建一个定向图。相应的元素S.T.定义图表中每个边缘的源和目标节点。

s = [1 1 2 2 3];t = [2 4 3 4 4];g = digraph(s,t)
g =带有属性的数字:边缘:[5x1表]节点:[4x0表]

添加节点名称

通过添加变量将节点名添加到图表中,名称,到了G.Nodes.桌子。这名称变量必须指定为N-经过-1字符向量或字符串阵列的单元格阵列,其中N = numnodes (G)。使用它很重要名称添加节点名称时变量,因为此变量名称由某些图形函数特殊处理。

g.nodes.name = {'第一的'“第二”'第三''第四'} ';

查看新节点桌子。

G.Nodes.
ans =.4×1表的名字  __________ {' 第一个“}{‘第二个’}{'第三'}{“第四”}

使用表索引查看节点1和4的名称。

G.Nodes。名称([1 4])
ans =.2x1细胞{'first'} {'第四'}

添加边缘权重

通过添加变量将边缘权重添加到图表上,重量,到了G.Edges桌子。这重量变量必须是一个m-1号数字矢量,在哪里m = numedges(g)。使用它很重要重量添加边缘权重时变量,因为此变量名称由某些图形功能特别处理。

G.edges.weight = [10 20 30 40 50]';

查看新边缘桌子。

G.Edges
ans =.5×2表Endnodes重量_____________________________ {'first'} {'second'} {'第四'} 20 {'second'} {'第三'} 30 {'second'} {'第四'} 40 {''第三'} {'第四'} 50

使用表索引查看第一个和第三行G.Edges

G.edge([1 3],:)
ans =.2×2表EndNodes重量  ________________________ ______ {' 第一个“}{‘第二个’}10{‘第二个’}{'第三'}30

添加自定义属性

原则上,您可以添加任何变量G.Nodes.G.Edges这定义了图形节点或边缘的属性。添加自定义属性可能是有用的,因为函数如subreordernodes保留图形属性。

例如,添加名为的变量力量G.Edges指示每个边缘是否是'在''离开'

G.Edges.Power = {'在''在''在''离开''离开'} ';G.Edges
ans =.5×3表Endnode权重______________________________ _______ {'first'} {'on'} {'first'} {'第四'} 20 {'on'} {'second'} {'第三'} {'第三'} {'在'} {'second'} {'第四'} 40 {'off'} {'第三'} {'第四'} 50 {'off'}

添加一个名为尺寸G.Nodes.表示每个节点的物理大小。

g.nodes.size = [10 20 10 30]';G.Nodes.
ans =.4×2表名字大小  __________ ____ {' 20第一”10{‘第二个’}}{'第三'}10{“第四”}30

使用变量编辑器修改表

节点边缘都是表格,可以使用变量编辑器以交互方式查看或编辑表。有关更多信息,请参阅创建和编辑变量

图形图的标记节点和边缘

当你画一个图时,你可以使用变量G.Nodes.G.Edges标记图节点和边。这种做法很方便,因为已经保证这些变量具有正确的元素数量。

绘制图形并使用该图标记边缘力量可变的G.Edges。使用使用的节点标记节点尺寸可变的G.Nodes.

p = plot(g,'Edgelabel',g.edges.Power,'nodelabel'G.Nodes.Size)

图包含轴。轴包含Type Graphplot的对象。

p =具有属性的Graphplot:NodeColor:[0 0.4470 0.7410] Markersize:4标记:'O'EDGEColor:[0 0.4470 0.7410] LIEWWIDTH:0.5000 LINESTYLE:' - 'NodeLabel:{'10''20''10'30'} Edgelabel:{'On'''''''''''} xdata:[2 1.5000 1 2] Ydata:[4 3 2 1] Zdata:[0 0 0]显示所有属性

也可以看看

|

相关的话题