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" 时生效。

# 另请参阅

plot | Graph | DiGraph