MATLAB更改图论的布局:设置layout

在图论那一章,我们讲过最小生成树和单源最短路径(见:从零开始学数学建模):

以最短路径那节课为例,把绘图p=plot那部分代码写为:

Matlab 复制代码
% plot绘图有很多参数可以设置,使图尽量美观
P = plot(G,'EdgeLabel',G.Edges.Weight, ...
    'EdgeFontSize',18,'EdgeFontAngle','normal',...
    'layout','force',...
    'EdgeColor','b', ...
    'NodeFontSize',12, ...
    'LineWidth',4, ...
    'NodeFontSize',24, ...
    'ArrowSize',16);

得到的输出图(不同matlab版本有差异,但整体布局相同,且计算结果相同,都是节点1到3到6):

绘制该图形时,代码中设置'layout','force'意味着设定布局(layout)为力导向算法计算布局(force),整体呈现较为均衡的分布(轮廓五边形)。图中标红的路径即为最短路径(1,3,6)。

而如果把布局更改下(只需要把'layout'后面参数'force'改成'layered',其他都不变):

Matlab 复制代码
P = plot(G,'EdgeLabel',G.Edges.Weight, ...
    'EdgeFontSize',18,'EdgeFontAngle','normal',...
    'layout','layered', ...
    'EdgeColor','b', ...
    'NodeFontSize',12, ...
    'LineWidth',4, ...
    'NodeFontSize',24, ...
    'ArrowSize',16);

得到的输出图:

代码中设置'layout','layered'意味着布局设定为分层布局,图节点置于多层中。而在此基础上,可修改其布局方向,只需在代码中加上'Direction','right',即可把布局方向改为向右:

注意无论哪种布局,其表示的所求出的最短路径都是(1,3,6)是不会变的。

总之在图论中绘制图像时,设定好'layout'以及相关参数,可以改变其布局等从而选择最合适的。可以设定的选项包括下表中,其中'force'和''layered'就是前面讲的。

选项 描述 特定于布局的名称-值对组
'auto'(默认值) 根据图的大小和结构自动选择布局方法。 ---
'circle' 圆形布局。将图节点放置在以原点为中心、半径为 1 的圆形上。 'Center' - 圆形布局的中心节点
'force' 力导向图布局。在相邻节点之间使用引力,在远距离节点之间使用斥力。 'Iterations' - 力导向图布局迭代次数 'WeightEffect' - 边权重对布局的影响效果 'UseGravity' - 多分量布局的引力切换 'XStart' - 节点的起始 x 坐标 'YStart' - 节点的起始 y 坐标
'layered' 分层布局。将图节点置于多层中,表示层级结构。默认情况下是逐层向下的(有向无环图的箭头向下)。 'Direction' - 层的方向 'Sources' - 第一层包含的节点 'Sinks' - 最后一层包含的节点 'AssignLayers' - 层分配方法
'subspace' 子空间嵌入式布局。在高维嵌入式子空间中绘制图节点,然后将位置投影回二维。默认情况下,子空间维度是 100 或节点总数(以两者中较小者为准)。 'Dimension' - 嵌入式子空间的维度
'force3' 三维力导向图布局。 'Iterations' - 力导向图布局迭代次数 'WeightEffect' - 边权重对布局的影响效果 'UseGravity' - 多分量布局的引力切换 'XStart' - 节点的起始 x 坐标 'YStart' - 节点的起始 y 坐标 'ZStart' - 节点的起始 z 坐标
'subspace3' 三维子空间嵌入式布局。 'Dimension' - 嵌入式子空间的维度

更多数模文章:

想参加数学建模比赛,但什么都不会,该怎么学呢?

一图速览全年16场数学建模竞赛!

从零开始学数学建模

DeepSeek教你用DeepSeek做数学建模

建模手/论文手/编程手,分别该怎么学数学建模?

数模用MATLAB还是python?

相关推荐
嵌入式冰箱7 小时前
2026年第二十三届五一数学建模竞赛-C题 边坡预警问题
数学建模
Math_teacher_fan11 小时前
Flutter 跨平台开发实战:鸿蒙与音乐律动艺术(六)、Lissajous 利萨茹曲线:频率耦合的轨迹艺术
flutter·ui·数学建模·华为·harmonyos·鸿蒙系统
lichensun15 小时前
2026年第二十三届五一数学建模竞赛题目C题 边坡预警问题-完整模型及代码论文
数学建模
maligebilaowang18 小时前
2026年五一数学建模联赛 A/B/C 三题选题分析
数学建模·2026年五一赛·2026年五一杯
★飞翔的企鹅★20 小时前
【一等奖版】2026 五一数学建模 B题 多工序协同作业问题
数学建模·2026五一数学建模·2026五一数学建模b题·多工序协同作业问题
★飞翔的企鹅★1 天前
【一等奖版】2026 五一数学建模 C题 边坡预警问题
数学建模·2026五一数学建模·2026五一数学建模c题
AI科技星1 天前
从180°旋转定值π、e论证时空宿命与未来可预测性—全域数学视角
人工智能·算法·机器学习·数学建模·数据挖掘
周末也要写八哥1 天前
C4D/Cinema 4D 2026超详细下载与安装教程(附资源包)
学习·数学建模
AI科技星2 天前
《基于 1 的 N 维分形与对称统一理论》
人工智能·算法·机器学习·数学建模·数据挖掘
AI科技星2 天前
《全域数学》第一部 数术本源 全10卷1-4级完整目录(出版定稿)
人工智能·机器学习·数学建模·数据挖掘·量子计算