GraphLayout
布局方式列表 »是 Graph 和相关函数的一个选项,指定使用哪种布局.
更多信息
- 通常使用几个阶段计算图布局. 设置 GraphLayout->{s1->m1,…} 下,阶段 si 由方法 mi 处理.
- 可能的图布局阶段 si 是:
-
"VertexLayout" 如何嵌入顶点 "EdgeLayout" 如何规划边 "PackingLayout" 如何放置顶点组成的连通分量 - "VertexLayout" 方法包括:
-
Automatic 自动选择布局 None 不计算布局 "emb" 已命名的嵌入 - 可能的特殊嵌入 "emb" 包括:
-
"BipartiteEmbedding" 两条平行线上的顶点 "CircularEmbedding" 圆圈上的顶点 "CircularMultipartiteEmbedding" 圆圈弧段上的顶点 "DiscreteSpiralEmbedding" 离散螺旋上的顶点 "GridEmbedding" 网格上的顶点 "LinearEmbedding" 直线上的顶点 "MultipartiteEmbedding" 几条平行线上的顶点 "SpiralEmbedding" 投射到二维的三维螺旋上的顶点 "StarEmbedding" 带中心点的圆圈上的顶点 - 对于诸如树和有向无环图这样的分层图,可能的结构化嵌入 "emb" 包括:
-
"BalloonEmbedding" 以父顶点为中心的圆圈上的顶点 "RadialEmbedding" 圆形弧段上的顶点 "LayeredDigraphEmbedding" 有向无环图平行线上的顶点 "LayeredEmbedding" 平行线上的顶点 - 可能的最优化嵌入 "emb" 都会最小化一个数量,包括:
-
"GravityEmbedding" 顶点为质点,边为弹簧的能量 "HighDimensionalEmbedding" 高维空间中的弹簧-电子能量 "PlanarEmbedding" 边交叉数目 "SpectralEmbedding" 平方距离的加权和 "SphericalEmbedding" 顶点在球面上且边作为弹簧的能量 "SpringElectricalEmbedding" 以边为弹簧,以顶点为电子的能量 "SpringEmbedding" 以边为弹簧的能量 "TutteEmbedding" 边的交叉数目和到邻居的距离 - "EdgeLayout" 方法包括:
-
"DividedEdgeBundling" 把边划分为线段束 "HierarchicalEdgeBundling" 根据分层树结构划分边 "StraightLine" 边之间的直线 - "PackingLayout" 方法包括:
-
"ClosestPacking" 从左上方开始的近似最紧密封装 "ClosestPackingCenter" 从中心开始的近似最紧密封装 "Layered" 从左上方开始按照层次排列 "LayeredLeft" 从左边开始按照层次排列 "LayeredTop" 从顶部开始按照层次排列 "NestedGrid" 在一个嵌套网格上排列
范例
打开所有单元关闭所有单元范围 (113)
基本用途 (3)
顶点布局 (98)
"BalloonEmbedding" (8)
"CircularEmbedding" (4)
"CircularMultipartiteEmbedding" (3)
"DiscreteSpiralEmbedding" (3)
"GravityEmbedding" (2)
"HighDimensionalEmbedding" (3)
"LayeredEmbedding" (7)
"LayeredDigraphEmbedding" (7)
"LinearEmbedding" (2)
"MultipartiteEmbedding" (3)
"RadialEmbedding" (5)
"SpectralEmbedding" (3)
"SphericalEmbedding" (3)
"SpringElectricalEmbedding" (15)
放置顶点,使得当每个顶点对应一个电子而每条边对应一条弹簧时,最小化它们的机械和电子能量:
"SpringElectricalEmbedding" 对大多数图效果都最好:
设置 "EdgeWeighted"->True 下,使用边权值:
使用选项 "EnergyControl"->e 指定在最小化过程中系统总能量的限制:
使用 "InferentialDistance"->d 指定假设顶点之间不存在交互作用的截止距离:
使用 "MaxIteration"->it 指定在尝试最小化能量的过程中所使用的最大迭代次数:
使用 "Multilevel"->method 指定在图的粗化的递归过程中所使用的方法:
设置 "Octree"->True 下,使用八叉树的数据结构(三维情形)或四叉树的数据结构(二维情形)计算排斥力:
使用 "RandomSeed"->int 指定计算初始顶点位置的随机数生成器的种子:
使用 "RepulsiveForcePower"->r 控制斥力随着距离衰减的有多快:
使用 "StepControl"->method 定义在能量最小化过程中如何修改步长:
"SpringEmbedding" (12)
放置顶点,以使得当每个边对应于一个弹簧时,最小化它们的机械能量:
"SpringEmbedding" 对规则结构化图效果最好:
设置 "EdgeWeighted"->True 下,使用边权值:
使用选项 "EnergyControl"->e 指定在最小化过程中系统总能量的限制:
使用 "InferentialDistance"->d 指定假定顶点之间不存在交互作用的截止距离:
使用 "MaxIteration"->it 指定在尝试最小化能量的过程中使用的最大迭代次数:
使用 "Multilevel"->method 指定在图的粗化递归过程中使用的方法:
使用 "RandomSeed"->int 指定计算初始顶点位置的随机数生成器的种子:
使用 "StepControl"->method 顶点在能量最小化过程中如何修改步长:
"StarEmbedding" (4)
边的布局 (3)
封装布局 (6)
属性和关系 (6)
GraphLayout 可用于普通图:
VertexCoordinates 会覆盖 GraphLayout 坐标:
利用 AbsoluteOptions 来提取通过布局算法计算所得的 VertexCoordinates:
文本
Wolfram Research (2010),GraphLayout,Wolfram 语言函数,https://reference.wolfram.com/language/ref/GraphLayout.html (更新于 2021 年).
CMS
Wolfram 语言. 2010. "GraphLayout." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2021. https://reference.wolfram.com/language/ref/GraphLayout.html.
APA
Wolfram 语言. (2010). GraphLayout. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/GraphLayout.html 年