这个例子展示了如何在使用图形
和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
这定义了图形节点或边缘的属性。添加自定义属性可能是有用的,因为函数如sub
和reordernodes
保留图形属性。
例如,添加名为的变量力量
到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)
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]显示所有属性