目录
图形对象的用途
图形对象以直观而有意义的方式表示数据,如线图、图像、文本以及这些对象的组合。图形对象作为其他对象的容器或数据的表示。
-
容器 - 图窗显示所有图形对象。通过面板和组可将一组对象视作一个整体进行某些操作。
-
坐标区是为图形中表示实际数据的对象定义坐标系的容器。
-
数据可视化对象 - 实现各种类型图形的线条、文本、图像、曲面和填充。
图窗
图窗是 MATLAB® 图形显示于其中的窗口。图窗包含菜单、工具栏、用户界面对象、上下文菜单和坐标区。
图窗在 MATLAB 中扮演两种不同的角色:
-
包含数据图形
-
包含用户界面(界面中可以包含图形)
图窗控制的图形功能
图窗属性控制某些会影响图形的特征:
-
曲面、补片的颜色和透明度 - Alphamap 和 Colormap
-
绘制的线条和坐标区网格线的外观 - GraphicsSmoothing
-
打印和导出图形 - 图窗打印属性
-
绘图速度和渲染功能 - Renderer
图窗使用不同的绘图方法,这些方法称为渲染器。有两种渲染器:
-
OpenGL® - MATLAB 用于大多数应用程序的默认渲染器。有关详细信息,可以参考opengl。
-
Painters - 当 OpenGL 在计算机上遇到特定的图形硬件问题时使用,这些硬件可能具有软件缺陷或过时的软件驱动程序。它也可用于将图形导出到特定格式,如 PDF。
注意:为了获得最佳效果,确保您的计算机含有硬件供应商提供的最新图形硬件驱动程序。有关所有图窗属性列表,可以参考Figure 属性
坐标区
MATLAB 创建坐标区以定义每个图形的坐标系。坐标区通常包含在图窗对象中。坐标区自身也包含表示数据的图形对象。
坐标区控制 MATLAB 如何显示图形信息的多个方面。
坐标区控制的图形功能
在图形中可自定义的大多数内容都由坐标区属性控制。
-
坐标轴范围、方向和刻度放置
-
轴标度(线性或对数)
-
网格控件
-
标题和轴标签的字体特征。
-
定义多线条图形的默认线条颜色和线型
-
轴线条和网格控件
-
根据颜色图调整对象颜色
-
视图和固定纵横比
-
按坐标轴范围裁剪图形
-
控制坐标区调整大小行为
-
光照和透明度控制
表示数据的对象
数据对象是图形用于表示数据的线条、图像、文本和多边形。例如:
-
线条使用特定的 x 和 y 坐标连接数据点。
-
标记定位某一范围值中的散点数据。
-
矩形条指示直方图中值的分布。
由于存在许多种图形,因此也存在许多数据对象类型。其中一些用于一般用途,例如线条和矩形,还有一些是用于高度专业的用途,例如误差条、颜色栏和图例。
数据对象控制的图形功能
数据对象属性控制对象外观,而且包含定义对象的数据。数据对象属性还可以控制某些行为。
-
数据 - 更改数据,更新图形。很多数据对象可将其数据属性链接到包含数据的工作区变量。
-
颜色数据 - 对象可控制如何通过指定颜色数据将数据映射到颜色。
-
外观 - 指定线条颜色、标记、多边形表面以及线型、标记类型。
-
特定行为 - 属性可以控制对象如何解析或显示其数据。例如,条形对象有一个名为 BarLayout 的属性,该属性确定条形是分组还是堆叠。等高线对象有一个 LevelList 属性,该属性确定绘制等高线的等高线区间。
高级函数与低级函数
绘图函数通过以下两种方法之一创建对象:
-
高级函数 - 创建整个图形,用新图形替换已有图形。高级函数包括 plot、bar、scatter 等等。有关高级函数摘要,可以参考MATLAB 绘图类型。
-
低级函数 - 添加图形对象,对现有图形做最少的更改。低级函数包括 line、patch、rectangle、surface、text、image 和 light。
组对象
组对象可以将多个数据对象作为一个整体。例如,您可以将整个组设置为可见或不可见,当点击其中一个时选择所有对象,或应用一个变换矩阵以旋转、转换或缩放组中的所有对象。
以下代码将 hggroup 函数返回的组对象设定为所绘线条的父级。文本对象不是组的一部分。
y = magic(5);
hg = hggroup;
plot(y,'Parent',hg)
text(2.5,10,'Plot of 5x5 magic square')
注释对象
注释对象包含箭头、文本框以及两者组合。注释对象有特殊的功能,这些功能突破数据对象的限制,可用来注释图形:
-
注释对象是图窗的子级。
-
可以在图窗中轻松定位注释。
-
以归一化图窗坐标定义注释对象的位置:左下角 = (0,0),右上角 = (1,1),这使得其定位独立于用坐标区表示的数据范围。
注意:MATLAB 将特定层设定为注释对象的父级。不要尝试将该层作为对象父级。MATLAB 会自动将注释对象分配到合适的父级。