文档

布局

改变布局图

描述

例子

布局(H)情节变化的布局图H通过使用一个自动的选择基于图的结构布局方法。的布局功能修改XDataYData的属性H

例子

布局(H,方法)(可选)指定的布局方法。方法可以“圆”,“力”,“分层”,“子”,“force3”,或“subspace3”

例子

布局(H,方法,名称,值)使用附加选项指定一个或多个参数名称-值对。例如,布局(H,“力”,“迭代”,N)指定了用于计算的迭代次数力布局,和布局(H,“分层”,“来源”,年代)使用分层布局与源节点年代包含在第一层。

例子

全部折叠

创建和绘制图形使用“力”布局。

s = [1 1 1 1 1 6 6 6 6 6);t = [2 3 4 5 6 7 8 9 10 11);图G = (s, t);h =情节(G,“布局”,“力”);

改变默认的布局情节决定了基于图的结构和性能。结果是一样的情节(G)

布局(h)

创建和绘制图形使用“分层”布局。

s = [1 1 1 2 3 2 3 4 5 5 6 7);t = [4 2 3 4 5 6 7 8 8 6 7 8];图G = (s, t);h =情节(G,“布局”,“分层”);

改变使用的布局图“子”方法。

布局(h,“子”)

创建和绘制图形使用“分层”布局方法。

s = [1 1 1 2 3 3 3 4 4];t = [2 4 5 6 2 4 7 8 1];G =有向图(s, t);h =情节(G,“布局”,“分层”);

使用布局功能完善分层布局通过指定源节点和一个水平方向。

布局(h,“分层”,“方向”,“对”,“源”1,[4])

画一个图,有多个组件,然后展示如何使用“UseGravity”选项来提高可视化。

创建和绘制图表,150个节点分为许多断开连接的组件。MATLAB®奠定了图表组件在一个网格。

s = [1 3 5 7 7 10:100];t =[2 4 6 8 9兰迪([100],91));图G = (s t [], 150);h =情节(G);

更新布局图对象的坐标,并指定“UseGravity”作为真正的安放,以便组件是放射状的起源,有更多的空间分配给更大的组件。

布局(h,“力”,“UseGravity”,真正的)

画一个图使用“WeightEffect”名称-值对,使图像边缘的长度与他们的重量成正比。

创建和情节与加权有向图的边缘。

s = [1 1 1 1 1 2 2 2 3 3 3 3 3];t = [2 3 4 5 6 7 8 9 10 11 12 13 14];重量=兰迪(20 [1],1、13);图G = (s t重量);p =情节(G,“布局”,“力”,“EdgeLabel”,G.Edges.Weight);

再计算使用的布局图“WeightEffect”名称-值对,所以每条边的长度成正比。这使它的边权重最大的是最长的。

布局(p,“力”,“WeightEffect”,“直接”)

输入参数

全部折叠

输入图的情节,指定为一个GraphPlot对象。使用有向图函数创建一个图,然后使用情节和一个输出参数返回一个GraphPlot对象。

例子:H =情节(G)

布局方法,指定为表中的其中一个选项。桌子上还列出了兼容的名称-值对进一步完善每个布局方法。

选项 描述 框架名称-值对
“汽车”(默认)

自动选择布局方法的基于图的规模和结构。

- - - - - -

“圆”

环形布局。地方图节点在原点为中心的圆半径为1。

“中心”——中心节点环形布局

“力”

指定的布局[1]。使用相邻节点之间的引力和斥力之间遥远的节点。

“迭代”——指定布局的迭代次数

“WeightEffect”——边对布局的影响

“UseGravity”——重力切换多个组件的布局

“XStart”- - - - - -开始x对节点坐标

“YStart”- - - - - -开始y对节点坐标

“分层”

分层布局[2],[3],[4]。地方图节点为一组层,暴露的层次结构。默认情况下,层向下进展(有向无环图的箭头点下来)。

“方向”——层方向

“源”——在第一层节点,使之包含

“汇”——节点包括在最后一层

“AssignLayers”-层赋值方法

“子”

子空间嵌入布局[5]。情节图节点在一个高维嵌入的子空间,然后项目位置回二维。默认情况下,子空间维数是100或节点的总数,哪个更小。

“维度”——嵌入式子空间的维度

“force3” 3 d指定布局。

“迭代”——指定布局的迭代次数

“WeightEffect”——边对布局的影响

“UseGravity”——重力切换多个组件的布局

“XStart”- - - - - -开始x对节点坐标

“YStart”- - - - - -开始y对节点坐标

“ZStart”- - - - - -开始z对节点坐标

“subspace3” 三维子空间嵌入布局。

“维度”——嵌入式子空间的维度

例子:布局(H,“分层”)

例子:布局(H,“force3”、“迭代”,10)

例子:布局(H,“子”,“维度”,50)

名称-值对的观点

指定可选的逗号分隔条名称,值参数。的名字参数名称和吗价值相应的价值。的名字必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家

例子:布局(H,‘子’,‘维’,200)

全部折叠

数量的指定布局迭代,指定为逗号分隔组成的“迭代”和积极的标量整数。

只有当该选项可用方法“力”“force3”

例子:布局(H,“力”,“迭代”,250年)

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

边的权值对布局的影响,指定为逗号分隔组成的“WeightEffect”在这个表的一个值。如果有多个两个节点之间的边(有向图中每个方向的边缘,或多重图),然后之前总结的权重计算“WeightEffect”

只有当该选项可用方法“力”“force3”

价值

描述

“没有”(默认)

边不影响布局。

“直接”

边缘长度边缘的重量成正比,G.Edges.Weight。大边生产边更长。

“逆”

边缘长度成反比边缘重量,1. / G.Edges.Weight。更大的短边生产边。

例子:布局(H,‘力’,‘WeightEffect’,“逆”)

重力切换对于多个组件的布局,指定为逗号分隔组成的“UseGravity”“上”,“关闭”,真正的,或

默认情况下,MATLAB®列出了图与多个组件在一个网格。网格可以掩盖较大的组件的细节,因为他们有相同的空间更小的组件。与“UseGravity”设置为“上”真正的放射状的安放,多个组件在原点。这种布局组件在一个更自然的方式传播,并为较大的组件提供了更多的空间。

只有当该选项可用方法“力”“force3”

例子:布局(H,‘力’,‘UseGravity’,真的)

数据类型:字符|逻辑

起始坐标节点,指定为逗号分隔组成的“XStart”和一个向量的节点坐标。这个选项一起使用“YStart”指定二维坐标(或开始“YStart”“ZStart”指定三维坐标)开始之前指定的迭代算法改变节点位置。

只有当该选项可用方法“力”“force3”

例子:布局(H,‘力’,‘XStart’, x, YStart, y)

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

起始坐标节点,指定为逗号分隔组成的“YStart”和一个向量的节点坐标。这个选项一起使用“XStart”指定二维坐标(或开始“XStart”“ZStart”指定三维坐标)开始之前指定的迭代算法改变节点位置。

只有当该选项可用方法“力”“force3”

例子:布局(H,‘力’,‘XStart’, x, YStart, y)

例子:布局(H,‘力’,‘XStart’, x, YStart, y, ZStart, z)

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

起始z坐标节点,指定为逗号分隔组成的“ZStart”和一个向量的节点坐标。这个选项一起使用“XStart”“YStart”指定的起始x,y,z节点坐标迭代之前指定算法改变节点的位置。

只有当该选项可用方法“force3”

例子:布局(H,‘力’,‘XStart’, x, YStart, y, ZStart, z)

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

分层

全部折叠

层的方向,指定为逗号分隔组成的“方向”,要么“下来”,“了”,“左”“对”。有向无环图(DAG),箭头指向指定的方向。

只有当该选项可用方法“分层”

例子:布局(H,“分层”,“方向”、“了”)

节点包含在第一层,指定为逗号分隔组成的“源”指数和一个或多个节点或节点的名称。

这个表格展示了不同的方法来引用一个或多个节点通过他们的指数数字节点或节点名。

形式 单独的节点 多个节点
节点索引

标量

例子:1

向量

例子:(1 2 3)

节点名称

特征向量

例子:“一个”

单元阵列的特征向量

例子:{“A”“B”“C”}

字符串标量

例子:“一个”

字符串数组

例子:(“A”“B”“C”)

只有当该选项可用方法“分层”

例子:布局(H,“分层”,“来源”,[1 3 5])

节点在最后一层,包括指定为逗号分隔组成的“汇”指数和一个或多个节点或节点的名称。

只有当该选项可用方法“分层”

例子:布局(H,“分层”,“下沉”,[2 4 6])

层赋值方法,指定为逗号分隔组成的“AssignLayers”在这个表的一个选项。

选项 描述
“汽车”(默认) 节点分配使用“尽快”“阿拉普”,哪个更紧凑。
“尽快” 尽快。每个节点分配到第一层,考虑到约束,所有其前辈必须在早期层。
“阿拉普” 尽可能晚。每个节点分配到最后可能的层,考虑到约束,其继任者必须在以后的层。

只有当该选项可用方法“分层”

例子:布局(H,“分层”,“AssignLayers”,“阿拉普”)

子空间

全部折叠

嵌入式子空间维度,指定为逗号分隔组成的“维度”和积极的标量整数。

  • 默认的整数值分钟([100年numnodes (G)))

  • “子”布局,整数必须大于或等于2。

  • “subspace3”布局,整数必须大于或等于3。

  • 在这两种情况下,整数的数量必须小于节点。

只有当该选项可用方法“子”“subspace3”

例子:布局(H,‘子’,‘维’,d)

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

全部折叠

中心节点在循环布局,指定为逗号分隔组成的“中心”在这个表的一个值。

价值 例子
标量节点索引 1
特征向量节点名 “一个”
字符串标量节点名 “一个”

只有当该选项可用方法“圆”

例子:布局(H,“圆”,“中心”,3)中心节点三个地方。

例子:布局(H,“圆”,“中心”、“Node1”)将节点命名“Node1”的中心。

提示

  • 使用布局名称-值对改变当你绘制它的布局图。例如,情节(G,“布局”,“圆”)块图G用一个圆形的布局。

  • 当使用“力”“force3”布局方法,最佳实践是使用更多的迭代算法而不是使用XStart,YStart,ZStart重新启动算法使用以前的输出。迭代执行算法的结果与100年相比是不同的执行50迭代,然后重启结束位置的算法来执行50多个迭代。

引用

[1]Fruchterman, T。,E. Reingold,. “Graph Drawing by Force-directed Placement.”软件——实践与经验。(11)、第21卷,1991年,页1129 - 1164。

[2]Gansner E。,E. Koutsofios, S. North, and K.-P Vo. “A Technique for Drawing Directed Graphs.”IEEE软件工程。Vol.19, 1993年,页214 - 230。

[3]巴斯,W。,M. Juenger, and P. Mutzel. “Simple and Efficient Bilayer Cross Counting.”杂志图算法和应用程序。Vol.8(2), 2004年,页179 - 194。

[4]Brandes U。,B. Koepf. “Fast and Simple Horizontal Coordinate Assignment.”信号。2265卷,2002年,页31-44。

[5]y科伦。“画图形的特征向量:理论与实践”。计算机和数学与应用程序。49卷,2005年,页1867 - 1888。

介绍了R2015b