Main Content

图形对象层次结构

MATLAB 图形对象

图形对象是 MATLAB® 用来以图形的形式显示数据的可视化组件。例如,图形可能包含线条、文本和坐标区,所有都显示在图窗窗口中。

每个对象都有一个名为句柄的唯一标识符。使用该句柄,您可以通过设置对象属性来操作现有图形对象的特征。您还可以在创建图形对象时指定属性值。通常,使用如 plotbarscatter 等绘图函数创建图形对象。

图形由具体对象组成

当您创建图形时(例如通过调用 plot 函数创建),MATLAB 会自动执行几个步骤生成图形。这些步骤包括创建对象和将这些对象属性值设置为适合特定图形的值。

图形对象的组织

这些图形对象按层次结构组织,如下图所示。

图形对象的层次结构本身反映出对象之间的包含关系。每个对象在图形显示中都具有特定角色。

例如,您使用 plot 函数创建线图。坐标区对象为表示数据的线定义了参考系。图窗是显示图形的窗口。图窗包含坐标区,坐标区包含线条、文本、图例以及其他用于表示图形的对象。

注意

坐标区是表示 x、y 和 z 坐标区标度、刻度线、刻度标签、坐标区标签等对象的单个对象。

以下是一个简单的图形。

该图形形成了对象层次结构。

父子关系

对象间的关系保存在 ParentChildren 属性中。例如,坐标区的父级是一个图窗。坐标区的 Parent 属性包含了该坐标区所在图窗的句柄。

同样,图窗的 Children 属性包含了其所含的所有坐标区。图窗 Children 属性还包含其所含的其他所有对象,如图例和用户界面对象。

您可以使用父子关系找到其他对象句柄。例如,如果您创建一个绘图,当前坐标区 Children 属性包含了所有线条的句柄:

plot(rand(5))
ax = gca;
ax.Children
ans = 

  5x1 Line array:

  Line
  Line
  Line
  Line
  Line

您还可以指定对象的父级。例如,创建一个组对象,让该组成为坐标区中线条的父级:

hg = hggroup;
plot(rand(5),'Parent',hg)