添加图节点名称、边权重和其他属性
这个例子展示了如何在使用图
和有向图
。您可以在最初调用时指定节点名称或边权重图
或有向图
创建一个图形。然而,这个示例展示了如何在创建图形之后为其添加属性。
创建图
创建一个有向图。中对应的元素年代
和t
定义图中每条边的源节点和目标节点。
S = [1 1 2 2 3];T = [2 4 3 4 4];G = digraph(s,t)
G =带属性的有向图:边:[5x1表]节点:[4x0表]
添加节点名称
通过添加变量向图中添加节点名称,名字
,到…G.Nodes
表格的名字
变量必须是N
字符向量的单元数组,其中N = numnodes(G)
。重要的是要使用名字
变量,因为这个变量名被一些图函数特殊处理。
g.s nodes . name = {“第一”“第二”“第三”“四”} ';
查看新的节点
表格
G.Nodes
ans =4×1表姓名________ '第一' '第二' '第三' '第四'
使用表索引查看节点1和节点4的名称。
G.Nodes。名字([1 4])
ans =2x1单元阵列{“第一”}{“第四”}
添加边权
通过添加变量来为图添加边权,重量
,到…G.Edges
表格的重量
变量必须是米
- × 1数值向量,其中M = nummedges (G)
。重要的是要使用重量
变量,因为这个变量名被一些图函数特殊处理。
G.Edges.Weight = [10 20 30 40 50];
查看新的边缘
表格
G.Edges
ans =5×2表EndNodes重量 ____________________ ______ ' 第一' '第二个‘10’‘第四个“20”第二“第三“30”第二“第四50“40”第三“第四”
的第一行和第三行G.Edges
。
G.Edges (3 [1],:)
ans =2×2表EndNodes重量 ____________________ ______ ' 第一' '第二个“10”第二' '第三' 30
添加自定义属性
原则上,您可以添加任何变量到G.Nodes
和G.Edges
它定义了图节点或边的属性。添加自定义属性可能很有用,因为像子图
和reordernodes
保留图形属性。
例如,添加一个名为权力
来G.Edges
表示每条边是否“上”
或“关闭”
。
g.b edges . power = {“上”“上”“上”“关闭”“关闭”} ';G.Edges
ans =5×3表EndNodes体重力量 ____________________ ______ _____ ' 第一' '第二“10”“第一”“第四“20”“二”“三“30”“第二“第四“40”从“第三”“第四“50”了“
添加一个名为大小
来G.Nodes
表示每个节点的物理大小。
G.Nodes.Size = [10 20 10 30]';G.Nodes
ans =4×2表名称大小________ ____ '第一' 10 '第二' 20 '第三' 10 '第四' 30
使用变量编辑器修改表
自节点
和边缘
都是表,则可以使用Variables编辑器交互式地查看或编辑表。有关更多信息,请参见创建和编辑变量。
标记图的节点和边
绘制图形时,可以使用中的变量G.Nodes
和G.Edges
标记图的节点和边。这种做法很方便,因为这些变量已经保证具有正确数量的元素。
绘制图形并标记边缘权力
变量G.Edges
。标记节点大小
变量G.Nodes
。
p = plot(G,“EdgeLabel”G.Edges.Power,“NodeLabel”G.Nodes.Size)
p = GraphPlot with properties: NodeColor: [0.0.4470 0.7410] MarkerSize: 4 Marker: 'o' EdgeColor: [0.0.4470 0.7410] LineWidth: 0.5000 LineStyle: '-' NodeLabel: {'10' '20' '10' '30'} EdgeLabel: {'on' 'on' 'on' 'off' off'} XData: [2 1.5000 1 2] YData: [4 3 2 1] ZData:[0 000]显示所有属性