目录
set函数的功能是设置图形对象属性。
语法
set(H,Name,Value)
set(H,NameArray,ValueArray)
set(H,S)
s = set(H)
values = set(H,Name)
说明
注意
不要对 Java™ 对象使用set函数,因为这会导致内存泄漏。
set(H,Name,Value) 为H标识的对象指定其 Name 属性的值。使用时须用单引号将属性名引起来,例如,set(H,'Color','red')。如果 H 是对象的向量,则set会为所有对象设置属性。如果 H 为空(即 []),set不执行任何操作,但不返回错误或警告。
set(H,NameArray,ValueArray) 使用元胞数组 NameArray 和 ValueArray 指定多个属性值。要为m个图形对象中的每个图形对象设置n个属性值,请将 ValueArray 指定为mxn的元胞数组,其中 m = length(H),而 n 等于 NameArray 中包含的属性名的数量。
set(H,S) 使用S指定多个属性值,其中S是一个结构体,其字段名称是对象属性名称,字段值是对应的属性值。MATLAB® 会忽略空结构体。
s = set(H) 返回 H 标识的对象的、可由用户设置的属性及其可能的值。s是一个字段名称是对象属性名称且字段值是对应属性的可能值的结构体。如果不指定输出参数,MATLAB 软件会在屏幕上显示该信息。H 必须为单个对象。
values = set(H,Name) 返回指定属性的可能值。如果可能的值为字符向量,则set会在元胞数组values的元胞中返回每个值。对于其他属性而言,set会返回一个指示 Name 没有一组固定属性值的语句。如果不指定输出参数,MATLAB 会在屏幕上显示该信息。H必须为单个对象。
注意
可以设置的属性的更多信息,参阅每个对象的属性页,例如Figure属性、Axes属性、Line属性、Text属性等。
示例
更改特定线条的颜色
绘制一个线条并以p的形式返回图形线条对象。将行的 Color 属性设置为 'red'。
p = plot(1:10);
set(p,'Color','red')
更改多个线条的颜色
使用随机数据创建一个包含四个线条的图形,并将这四个线条对象返回至P。将所有线条的 Color 属性设置为 'red'。
P = plot(rand(4));
set(P,'Color','red')
为多个线条的线型设置为不同的值
将四个图形线条对象的 LineStyle 属性值分别设为不同的值。转置元胞数组值,使其拥有合适的形状。
P = plot(rand(4));
NameArray = {'LineStyle'};
ValueArray = {'-','--',':','-.'}';
set(P,NameArray,ValueArray)
为多个对象的多个属性设置不同值
将三个不同针状序列对象的 Marker 和 Tag 属性设置为不同值。值元胞数组的每一行对应于 h 中的一个对象且包含两个值,一个对应于 Marker 属性,一个对应于 Tag 属性。
x = 0:30;
y = [1.5*cos(x); 4*exp(-.1*x).*cos(x); exp(.05*x).*cos(x)]';
S = stem(x,y);
NameArray = {'Marker','Tag'};
ValueArray = {'o','Decaying Exponential';...
'square','Growing Exponential';...
'*','Steady State'};
set(S,NameArray,ValueArray)
提示
可以在一次 set 调用中使用属性名称/属性值对组、结构体数组和元胞数组的任意组合。
设置属性单位
请注意,如果在一次函数调用中同时设置 FontSize 和 FontUnits 属性,必须先设置 FontUnits 属性以使 MATLAB 软件能够正确地解释指定的 FontSize。这也适用于图窗和坐标区的单位 - 始终先设置 Units 属性,然后再设置希望以这些单位解释其值的属性。例如,
f = figure('Units','characters','Position',[30 30 120 35]);