2026a
# layout
更改图绘制对象的布局
函数库:TyMath
# 语法
layout(h)
layout(h, method)
layout(h, method; key=value)
# 说明
layout(h) 使用自动方式重新计算图绘制对象 h 的布局。
layout(h, method) 指定布局方法重新计算图中节点的位置。method 可指定为 "auto"、"circle"、"force"、"subspace"、"force3" 或 "subspace3"。示例
layout(h, method; key=value) 使用关键字参数细化布局结果。目前支持 Iterations 和 Dimension 两个参数。
h 是由 plot 返回的 GraphPlot 结构体。调用 layout 后,图中的节点坐标会根据新的布局方法重新计算。
# 示例
更改布局方法
先使用圆形布局绘图,再切换为子空间布局。
using TyMath
using TyPlot
s = [1, 1, 1, 2, 2, 3, 3, 4, 5, 5, 6, 7]
t = [2, 4, 5, 3, 6, 4, 7, 8, 6, 8, 7, 8]
g = Graph(s, t)
h = plot(g, "b"; layout="circle")
layout(h, "subspace")
提示
不同电脑可能结果有差异,不影响整体拓扑关系。

# 输入参数
h - 输入图绘制对象GraphPlot 结构体
输入图绘制对象,指定为 GraphPlot 结构体。通常通过 plot 的返回值得到该对象。
示例: h = plot(g, "r")
method - 布局方法"auto" | "circle" | "force" | "subspace" | "force3" | "subspace3"
布局方法,指定为以下字符串之一:
- "auto":根据图结构自动选择布局;
- "circle":圆形布局;
- "force":二维力导向布局;
- "subspace":二维子空间嵌入布局;
- "force3":三维力导向布局;
- "subspace3":三维子空间嵌入布局。
key=value - 关键字参数可选参数
支持以下关键字参数:
Iterations=1000:力导向布局的迭代次数,仅在 method 为 "force" 或 "force3" 时生效;
Dimension=nothing:子空间布局的维度,仅在 method 为 "subspace" 或 "subspace3" 时生效。