MATLAB绘图教程:figure命令的高级用法,标题、名称、窗口位置和大小等

文章目录

在 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:"。

窗口位置与大小

  • 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')
  • Visible (可见性)
    • 作用: 决定窗口是否在屏幕上显示,值为 'on''off'
    • 使用场景: 当你需要用代码批量生成并保存几百张图片,但不想让图片窗口在屏幕上疯狂闪烁时,使用 figure('Visible', 'off') 是最佳选择(后台默默画图)。

界面控件

  • MenuBarToolBar (菜单栏与工具栏)
    • 作用: 控制是否显示窗口顶部的"文件、编辑、视图"等菜单,以及放大、缩小、保存等工具图标。设为 '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]; % 修改为浅灰色

运行结果:

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

相关推荐
南宫萧幕2 小时前
奈奎斯特判据 + MATLAB建模实现 + 车辆纵向动力学 详细推导笔记
笔记·matlab·simulink
fnoaxl_3802 小时前
Python的__new__方法在元类中实现对象池与连接管理在Web服务
编程
happy_baymax2 小时前
Simulink 端口自动生成工具 (v2.1)(EXCEL+m语言)
服务器·matlab·excel·simulink
tiismt_2864 小时前
Kotlin的@OptIn(ExperimentalTypeInference--class)与类型推断
编程
marsh02064 小时前
35 openclawCQRS模式应用:分离读写操作提升性能
运维·ai·jenkins·编程·技术
tiismt_2864 小时前
如何设计一个支持“全文检索”的应用程序?
编程
marsh02064 小时前
34 openclaw事件溯源:实现可追溯的业务流程
数据库·ai·编程·技术
王老师青少年编程15 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【线性扫描贪心】:数列分段 Section I
c++·算法·编程·贪心·csp·信奥赛·线性扫描贪心
Aaron158818 小时前
RFSOC+VU13P+RK3588的核心优势与应用场景分析
嵌入式硬件·算法·matlab·fpga开发·信息与通信·信号处理·基带工程