來源:https://ww2.mathworks.cn/help/matlab/ref/set.html?searchHighlight=set&s_tid=doc_srchtitle
set
設置圖形對象屬性
語法
set(H,Name,Value)
set(H,NameArray,ValueArray)
set(H,S)
s = set(H)
values = set(H,Name)
說明
注意
不要對 Java™ 對象使用 set
函數,因為這會導致內存泄漏。有關詳細信息,請參閱Access Public and Private Data。
set(H,Name,Value)
為 H
標識的對象指定其 Name
屬性的值。使用時須用單引號將屬性名引起來,例如,set(H,'Color','red')
。如果 H
是對象的向量,則 set
會為所有對象設置屬性。如果 H
為空(即 []
),set
不執行任何操作,但不返回錯誤或警告。
set(H,NameArray,ValueArray)
使用元胞數組 NameArray
和 ValueArray
指定多個屬性值。要為 m
個圖形對象中的每個圖形對象設置 n
個屬性值,請將 ValueArray
指定為 m
×n
的元胞數組,其中 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
必須為單個對象。
示例
更改特定線條的顏色
繪制一個線條並以 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]);