MATLAB Figure的用法(附带实例)
在 MATLAB 中,Figure 对象(Objects)提供图形显示的窗口。该对象的组件包括菜单栏、工具栏、用户界面对象、坐标轴对象及其子对象,以及其他所有类型的图形对象。
Figure 对象的用途如下:
这两个用途虽然可以互相区分,但在操作时也可以同时使用。例如,在一个图形用户界面中也可以绘制数据图形。
例如:
【实例】使用 surf 命令创建 Figure 对象,并绘图;在绘图后进行属性设置,使绘制的球面美观。在编辑器窗口中编写如下代码。

图 1 使用 surf 命令创建 Figure 对象并绘图示例
需要设置的属性如下:
Figure 对象的用途如下:
- 用于数据图形;
- 用于图形用户界面(GUI)。
这两个用途虽然可以互相区分,但在操作时也可以同时使用。例如,在一个图形用户界面中也可以绘制数据图形。
MATLAB Figure用于数据图形
在 MATLAB 中,当不存在 Figure 对象时,使用绘制图形的命令(如 plot 和 surf 等)可以自动创建 Figure 对象。如果存在多个图形窗口,则其中总有一个被设置为当前图形窗口,用于输出图形。可以使用 gcf 相关命令来获取当前图形窗口的句柄。例如:
get(gcf)也可以使用 Root 对象的 CurrentFigure 属性来获取当前 Figure 对象的句柄值;如果没有 Figure 对象,则会返回一个空值,如下面的命令:
get(0, 'CurrentFigure')
【实例】使用 surf 命令创建 Figure 对象,并绘图;在绘图后进行属性设置,使绘制的球面美观。在编辑器窗口中编写如下代码。
clear, clc, clf k = 5; n = 2^k-1; [x, y, z] = sphere(n); c = hadamard(2^k); surf(x, y, z, c); %参考图 1 (a) colormap([1 1 0; 0 1 1]) axis equal %参考图 1(b)运行程序,使用 surf 命令创建 Figure 对象并绘图示例如下图所示:

图 1 使用 surf 命令创建 Figure 对象并绘图示例
MATLAB Figure用于图形用户界面
图形用户界面在交换程序中的使用很普遍,包括从最简单的提示框到极其复杂的交互界面。在使用 Figure 对象满足图形用户界面的需求时,可以对该对象的许多属性进行设置。需要设置的属性如下:
- 显示或隐藏菜单栏(MenuBar);
- 更改Figure对象标识名称(Name);
- 控制用户对图形句柄的访问(HandleVisibility);
- 创建回调函数用于用户在调整图形时执行其他功能(ResizeFcn);
- 控制工具栏的显示(Toolbar);
- 设置快捷菜单(UIContextMenu);
- 定义鼠标发生动作时的回调函数(WindowButtonDownFcn、WindowButtonMotion-Fcn、WindowButtonUpFcn);
- 设置图形窗口风格(WindowStyle)。
MATLAB Figure对象操作
Figure 对象的操作函数及其说明如下表所示:函数 | 说明 | 函数 | 说明 |
---|---|---|---|
clf | 清除当前图形窗口内容 | hgsave | 分层保存句柄图形对象 |
close | 关闭图形 | newplot | 决定绘制图形对象的位置 |
closereq | 默认图形关闭请求函数 | opengl | 控制 OpenGL 表达 |
drawnow | 更新事件队列与图形窗口 | refresh | 重新绘制当前图形 |
gcf | 当前图形句柄 | saveas | 保存图形 |
hgload | 分层加载句柄图形对象 | shg | 显示最近绘制的图形窗口 |