matlab图形处理程序解析(MATLAB快速入门官方说明)
matlab图形处理程序解析(MATLAB快速入门官方说明)轴 - 包含表示数据的对象的坐标系图窗 - 包含轴、工具栏、菜单等的窗口。例如,以下语句使用变量 y 中的数据创建条形图,并设置关于条形显示方式的属性:y = [75 91 105 123.5 131 150 179 203 226 249 281.5]; bar(y 'FaceColor' 'green' 'EdgeColor' 'black' 'LineWidth' 1.5)常见图形对象当调用函数以便创建图形时,MATLAB 会创建图形对象的层次结构。例如,调用 plot 函数会创建下列图形对象:
处理图形对象
图形对象
图形对象是用于显示图形的基本元素。这些对象按层次结构组织,如下图所示。
当调用绘图函数时,MATLAB® 使用各种图形对象(例如,图窗窗口、轴、线条、文本等)创建图形。每个对象都具有一组固定的属性,您可以使用这些属性控制图形的行为和外观。
例如,以下语句使用变量 y 中的数据创建条形图,并设置关于条形显示方式的属性:
y = [75 91 105 123.5 131 150 179 203 226 249 281.5]; bar(y 'FaceColor' 'green' 'EdgeColor' 'black' 'LineWidth' 1.5)
常见图形对象
当调用函数以便创建图形时,MATLAB 会创建图形对象的层次结构。例如,调用 plot
函数会创建下列图形对象:
-
图窗 - 包含轴、工具栏、菜单等的窗口。
-
轴 - 包含表示数据的对象的坐标系
-
线条 - 代表传递至
plot
函数的数据值的线条。 -
文本 - 用于轴刻度线和可选标题及注释的标签。
不同类型的图形使用不同对象来表示数据。由于存在许多种图形,因此也存在许多数据对象类型。其中一些用于一般用途,例如线条和矩形,还有一些是用于高度专业的用途,例如误差条、颜色栏和图例。
用于处理对象的函数
此表列出了处理对象时常用的函数。
函数 |
用途 |
---|---|
|
查找指定对象的所有子级。 |
|
查找图形对象的父级。 |
|
复制图形对象。 |
|
删除对象。 |
|
查找所有图形对象(包括隐藏句柄)。 |
|
查找具有指定属性值的对象的句柄。 |
|
返回当前轴的句柄。 |
|
返回当前图窗的句柄。 |
|
返回当前对象的句柄。 |
|
查询对象的属性的值。 |
|
如果值是有效对象句柄,则为 True。 |
|
设置对象的属性的值。 |
传递参数
可定义专用绘图函数以简化自定义图形的创建过程。通过定义函数,可以像 MATLAB 绘图函数一样传递参数。
下面的示例显示了一个 MATLAB 函数,该函数在输入参数 x
指定的范围中计算数学表达式,然后绘制结果。第二次调用 plot
函数会将结果的 mean
值绘制为红线。
该函数基于计算值修改 y 轴刻度。加入轴标签和标题后,即完成了图形自定义。
function plotFunc(x) y = 1.5*cos(x) 6*exp(-.1*x) exp(.07*x).*sin(3*x); ym = mean(y); hfig = figure('Name' 'Function and Mean'); hax = axes('Parent' hfig); plot(hax x y) hold on plot(hax [min(x) max(x)] [ym ym] 'Color' 'red') hold off ylab = hax.YTick; new_ylab = sort([ylab ym]); hax.YTick = new_ylab; title ('y = 1.5cos(x) 6e^{-0.1x} e^{0.07x}sin(3x)') xlabel('X Axis') ylabel('Y Axis')end
定义输入参数的值,并调用此函数。
x = -10:.005:40; plotFunc(x)
查找现有对象的句柄
findobj
函数可用于通过搜索具有特定属性值的对象来获取图形对象的句柄。使用 findobj
,您可以指定任何属性组合的值,这样可以方便地从多个对象中选取一个对象。此外,findobj
还可识别正则表达式。
查找特定类型的所有对象
由于所有对象都具有标识对象类型的 Type
属性,因此可以查找特定对象类型的所有匹配项的句柄。例如,
h = findobj('Type' 'patch');
查找所有补片对象的句柄。
查找具有特定属性的对象
您可以指定多个属性以便缩小搜索范围。例如,
plot(rand(5) 'r:') h = findobj('Type' 'line' 'Color' 'r' 'LineStyle' ':');
查找所有红色点线的句柄。
h = 5x1 Line array: Line Line Line Line Line
限制搜索范围
通过将起始图窗或轴的句柄作为传递的第一个参数,您可以在对象层次结构中指定起点。例如,
h = findobj(gca 'Type' 'text' 'String' '\pi/2');
仅在当前坐标区中查找 π/2。