布局
改变布局图
描述
例子
基于结构的图布局
创建和绘制图形使用“力”
布局。
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”,“直接”)
输入参数
方法
- - - - - -布局方法
“汽车”
(默认)|“圆”
|“力”
|“分层”
|“子”
|“force3”
|“subspace3”
布局方法,指定为表中的其中一个选项。桌子上还列出了兼容的名称-值对进一步完善每个布局方法。
选项 | 描述 | 框架名称-值对 |
---|---|---|
“汽车” (默认) |
自动选择布局方法的基于图的规模和结构。 |
- - - - - - |
“圆” |
环形布局。地方图节点在原点为中心的圆半径为1。 |
|
“力” |
指定的布局[1]。使用相邻节点之间的引力和斥力之间遥远的节点。 |
|
“分层” |
|
|
“子” |
子空间嵌入布局[5]。情节图节点在一个高维嵌入的子空间,然后项目位置回二维。默认情况下,子空间维数是100或节点的总数,哪个更小。 |
|
“force3” |
3 d指定布局。 |
|
“subspace3” |
三维子空间嵌入布局。 |
|
例子:布局(H,“分层”)
例子:布局(H,“force3”、“迭代”,10)
例子:布局(H,“子”,“维度”,50)
名称-值对的观点
指定可选的逗号分隔条名称,值
参数。的名字
参数名称和吗价值
相应的价值。的名字
必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家
。
布局(H,‘子’,‘维’,200)
力
“迭代”
- - - - - -指定布局的迭代的数量
One hundred.
(默认)|积极的标量整数
数量的指定布局迭代,指定为逗号分隔组成的“迭代”
和积极的标量整数。
只有当该选项可用方法
是“力”
或“force3”
。
例子:布局(H,“力”,“迭代”,250年)
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
“WeightEffect”
- - - - - -边的权值对布局的影响
“没有”
(默认)|“直接”
|“逆”
边的权值对布局的影响,指定为逗号分隔组成的“WeightEffect”
在这个表的一个值。如果有多个两个节点之间的边(有向图中每个方向的边缘,或多重图),然后之前总结的权重计算“WeightEffect”
。
只有当该选项可用方法
是“力”
或“force3”
。
价值 |
描述 |
---|---|
|
边不影响布局。 |
|
边缘长度边缘的重量成正比, |
|
边缘长度成反比边缘重量, |
例子:布局(H,‘力’,‘WeightEffect’,“逆”)
“UseGravity”
- - - - - -重力开关与多个组件的布局
“上”
|“关闭”
|真正的
|假
重力切换对于多个组件的布局,指定为逗号分隔组成的“UseGravity”
和“上”
,“关闭”
,真正的
,或假
。
默认情况下,MATLAB®列出了图与多个组件在一个网格。网格可以掩盖较大的组件的细节,因为他们有相同的空间更小的组件。与“UseGravity”
设置为“上”
或真正的
放射状的安放,多个组件在原点。这种布局组件在一个更自然的方式传播,并为较大的组件提供了更多的空间。
只有当该选项可用方法
是“力”
或“force3”
。
例子:布局(H,‘力’,‘UseGravity’,真的)
数据类型:字符
|逻辑
“XStart”
- - - - - -起始坐标节点
向量
起始坐标节点,指定为逗号分隔组成的“XStart”
和一个向量的节点坐标。这个选项一起使用“YStart”
指定二维坐标(或开始“YStart”
和“ZStart”
指定三维坐标)开始之前指定的迭代算法改变节点位置。
只有当该选项可用方法
是“力”
或“force3”
。
例子:布局(H,‘力’,‘XStart’, x, YStart, y)
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
“YStart”
- - - - - -起始坐标节点
向量
起始坐标节点,指定为逗号分隔组成的“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
“ZStart”
- - - - - -从z坐标的节点
向量
起始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,“分层”,“方向”、“了”)
“源”
- - - - - -节点包含在第一层
节点索引|节点名
节点包含在第一层,指定为逗号分隔组成的“源”
指数和一个或多个节点或节点的名称。
这个表格展示了不同的方法来引用一个或多个节点通过他们的指数数字节点或节点名。
形式 | 单独的节点 | 多个节点 |
---|---|---|
节点索引 | 标量 例子: |
向量 例子: |
节点名称 | 特征向量 例子: |
单元阵列的特征向量 例子: |
字符串标量 例子: |
字符串数组 例子: |
只有当该选项可用方法
是“分层”
。
例子:布局(H,“分层”,“来源”,[1 3 5])
“汇”
- - - - - -节点包含在最后一层
节点索引|节点名
节点在最后一层,包括指定为逗号分隔组成的“汇”
指数和一个或多个节点或节点的名称。
只有当该选项可用方法
是“分层”
。
例子:布局(H,“分层”,“下沉”,[2 4 6])
“AssignLayers”
- - - - - -层赋值方法
“汽车”
(默认)|“尽快”
|“阿拉普”
层赋值方法,指定为逗号分隔组成的“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
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。