
文章目录
在 MATLAB 中,figure 函数最基础的用法是弹出一个空白的绘图窗口(如 figure(1))。但很多时候,为了让生成的图表更专业、更适合放入报告或软件界面中,我们需要对窗口本身进行定制。这就是 "名称-值"对组参数(Name-Value Pair Arguments) 发挥作用的地方。
基础语法
在 figure 后面添加信息的基本语法是成对出现的:
figure('属性名称1', 属性值1, '属性名称2', 属性值2, ...)
最常用的 Figure 属性解析
以下是日常编程中最实用、最常被调用的几个属性:
标题与名称控制
Name(窗口名称)- 作用: 设置显示在窗口顶部标题栏中的文本。
- 示例:
figure('Name', '三维轨迹图')
NumberTitle(数字标题)- 作用: 决定是否在标题栏显示默认的 "Figure 1"、"Figure 2" 等字样。通常与
Name配合使用,将其设为'off'可以让标题栏看起来更清爽。 - 示例: 例如:
figure('Name', '位置误差', 'NumberTitle', 'off'),最终窗口标题只会显示"位置误差",而没有"Figure 1:"。
- 作用: 决定是否在标题栏显示默认的 "Figure 1"、"Figure 2" 等字样。通常与
窗口位置与大小
Position(位置和尺寸)- 作用: 定义窗口在屏幕上的具体位置和大小。它接收一个包含四个数字的向量:
[left, bottom, width, height](左边距,下边距,宽度,高度)。 - 示例:
figure('Position', [100, 100, 800, 600])(在屏幕左下角偏右上的位置,打开一个 800x600 像素的窗口)。
- 作用: 定义窗口在屏幕上的具体位置和大小。它接收一个包含四个数字的向量:
Units(测量单位)- 作用: 配合
Position使用,定义尺寸单位。默认是'pixels'(像素),也可以设为'normalized'(归一化,0到1之间,适合适配不同分辨率的屏幕)、'inches'(英寸)等。
- 作用: 配合
外观与可见性
Color(背景颜色)- 作用: 更改窗口的背景色。可以使用 RGB 三元组(如
[1 1 1]表示白色),或者颜色名称(如'w'代表白色,'k'代表黑色)。默认通常是浅灰色。 - 示例:
figure('Color', 'white')
- 作用: 更改窗口的背景色。可以使用 RGB 三元组(如
Visible(可见性)- 作用: 决定窗口是否在屏幕上显示,值为
'on'或'off'。 - 使用场景: 当你需要用代码批量生成并保存几百张图片,但不想让图片窗口在屏幕上疯狂闪烁时,使用
figure('Visible', 'off')是最佳选择(后台默默画图)。
- 作用: 决定窗口是否在屏幕上显示,值为
界面控件
MenuBar和ToolBar(菜单栏与工具栏)- 作用: 控制是否显示窗口顶部的"文件、编辑、视图"等菜单,以及放大、缩小、保存等工具图标。设为
'none'可以将其隐藏。 - 示例:
figure('MenuBar', 'none', 'ToolBar', 'none')(通常用于自制 GUI 界面时,去掉多余的 MATLAB 默认控件)。
- 作用: 控制是否显示窗口顶部的"文件、编辑、视图"等菜单,以及放大、缩小、保存等工具图标。设为
综合案例
如果要生成一个完全定制化的图表窗口用于正式的论文报告,可以将上述属性组合起来:
matlab
% 创建一个干净、纯白背景、指定大小且无"Figure X"字样的窗口
fig = figure('Name', '实验数据对比', ...
'NumberTitle', 'off', ...
'Color', 'w', ...
'Position', [200, 200, 600, 400], ...
'MenuBar', 'none');
% 在里面画个简单的图测试一下
x = 0:0.1:10;
y = sin(x);
plot(x, y, 'LineWidth', 2);
title('正弦波形');
xlabel('时间 (s)');
ylabel('幅值');
运行结果:

进阶技巧:修改已经创建好的 Figure
如果你一开始用 figure 创建了窗口,后来想修改它,不需要重新画图。你可以获取图形的**句柄(Handle)**进行修改。
方法一:使用 set 函数
matlab
h = figure(1); % 获取图窗句柄
set(h, 'Name', '修改后的名字', 'Color', 'r'); % 将背景改为红色
方法二:使用点表示法(推荐)
matlab
h = figure(1);
h.Name = '修改后的名字';
h.Color = [0.9 0.9 0.9]; % 修改为浅灰色
运行结果:

如有讲解、指导需求,可点击下方卡片联系作者