版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第4章 MATLAB計(jì)算的可視化和GUI設(shè)計(jì) 4.1二維曲線的繪制 4.2 MATLAB的三維圖形繪制 4.3 MATLAB的特殊圖形繪制 4.4圖形窗口的功能 4.5對(duì)話框 4.6句柄圖形 4.7圖形用戶界面(GUI)設(shè)計(jì) MATLAB具有非常強(qiáng)大的二維和三維繪圖功能,尤其擅長(zhǎng)于各種科學(xué)運(yùn)算結(jié)果的可視化。4.1二維曲線的繪制 4.1.1基本繪圖命令plot 1. plot(x) 繪制繪制x向量曲線向量曲線plot命令是MATLAB中最簡(jiǎn)單而且使用最廣泛的一個(gè)繪圖命令,用來繪制二維曲線。語法:語法:plot(x) %繪制以x為縱坐標(biāo)的二維曲線 plot(x,y) %繪制以x為橫坐標(biāo)y為縱坐標(biāo)的
2、二維曲線說明:x和y可以是向量或矩陣。 【例【例4.1】用plot(x)命令畫直線,如圖4.1所示。x1=1 2 3 x1 = 1 2 3 plot(x1) x2=0 1 0 x2 =0 1 0 plot(x2) 2. plot(x,y) 繪繪制向量制向量x和和y的曲的曲線線 【例【例4.2】繪制正弦曲線y=sin(x)和方波曲線,x1=0:0.1:2*pi;y1=sin(x1); %y1為為x1的正弦函數(shù)的正弦函數(shù)plot(x1,y1);x2=0 1 1 2 2 3 ;y2=1 1 0 0 1 1 ;plot(x2,y2);axis(0 4 0 2)%將坐標(biāo)軸范圍設(shè)定為將坐標(biāo)軸范圍設(shè)定為0-
3、4和和0-2 圖圖4.2 (a) 正弦曲線正弦曲線 (b) 方波曲線方波曲線3. plot(x) 繪繪制矩制矩陣陣x的曲的曲線線 當(dāng)當(dāng)X是一個(gè)是一個(gè)m n的矩陣,的矩陣,plot(x)命令為矩陣每一列畫)命令為矩陣每一列畫一條線,共一條線,共n條曲線,各曲線自動(dòng)用不同的顏色表示。條曲線,各曲線自動(dòng)用不同的顏色表示?!纠纠?.3】矩陣圖形的繪制,如圖4.3所示。 x1=1 2 3;4 5 6; plot(x1); x2=peaks; %產(chǎn)生一個(gè)產(chǎn)生一個(gè)49*49的矩陣的矩陣 plot(x2); 程序分析:a圖中有三條曲線而不是兩條曲線,因?yàn)榫仃噚1有三列,每列向量畫一條曲線;b圖為由peaks
4、函數(shù)生成的一個(gè)4949的二維矩陣,因此產(chǎn)生49條曲線。 圖圖4.3 (a) x1曲線曲線 (b) x2曲線曲線4. plot(x,y)繪繪制混合式曲制混合式曲線線 當(dāng)plot(x,y)命令中的參數(shù)x和y是向量或矩陣時(shí),分別有以下幾種情況:如果x是向量,而y是矩陣,則x的長(zhǎng)度與矩陣y的行數(shù)或列數(shù)必須相等,如果x的長(zhǎng)度與y的行數(shù)相等,則向量x與矩陣y的每列向量對(duì)應(yīng)畫一條曲線;如果x的長(zhǎng)度與y的列數(shù)相等,向量x與y的每行向量畫一條曲線,如果y是方陣,則x和y的行數(shù)和列數(shù)都相等,將向量x與矩陣y的每列向量畫一條曲線;如果x是矩陣,而y是向量,則y的長(zhǎng)度必須等于x的行數(shù)或列數(shù),繪制的方法與前一種相似;如
5、果x和y都是矩陣,則大小必須相同,矩陣x的每列和y的每列畫一條曲線?!纠纠?.4】混合式圖形的繪制,如圖4.4所示。 x1=1 2 3; y1=1 2 3;4 5 6 y1 =1 2 3 4 5 6 plot(x1,y1) %每行一條曲線每行一條曲線 y2=1 2 ;3 4; 5 6 y2 =1 2 3 4 5 6 plot(x1,y2) %每列一條曲線每列一條曲線 plot(y1,x1) plot(y2,x1) 圖圖4.4 ( c) (y1,x1)曲線曲線 (d) (y2,x1)曲線曲線5. plot(x1,y1,x2,y2,)繪制多條曲線繪制多條曲線plot命令還可以同時(shí)繪制多條曲線,用
6、多個(gè)矩陣對(duì)為參數(shù),MATLAB自動(dòng)以不同的顏色繪制不同曲線?!纠纠?.5】繪制三條曲線,如圖4.5所示。 x=0:0.1:2*pi; plot(x,sin(x),x,cos(x),x,sin(3*x) %畫三條曲畫三條曲線線 圖圖4.5 三條曲線三條曲線4.1.2繪制曲線的一般步驟 步驟步驟 內(nèi)容內(nèi)容 1曲線數(shù)據(jù)準(zhǔn)備:對(duì)于二維曲線,橫坐標(biāo)和縱坐標(biāo)數(shù)據(jù)變量;對(duì)于三維曲面,矩陣參變量和對(duì)應(yīng)的函數(shù)值。 2指定圖形窗口和子圖位置:默認(rèn)時(shí),打開Figure No.1窗口或當(dāng)前窗口、當(dāng)前子圖;也可以打開指定的圖形窗口和子圖。 3設(shè)置曲線的繪制方式:線型、色彩、數(shù)據(jù)點(diǎn)形。 4設(shè)置坐標(biāo)軸:坐標(biāo)的范圍、刻度和
7、坐標(biāo)分格線 5圖形注釋:圖名、坐標(biāo)名、圖例、文字說明 6著色、明暗、燈光、材質(zhì)處理(僅對(duì)三維圖形使用) 7視點(diǎn)、三度(橫、縱、高)比(僅對(duì)三維圖形使用) 8圖形的精細(xì)修飾(圖形句柄操作):利用對(duì)象屬性值設(shè)置;利用圖形窗工具條進(jìn)行設(shè)置。 說明: 步驟1和3是最基本的繪圖步驟,如果利用MATLAB的默認(rèn)設(shè)置通常只需要這兩個(gè)基本步驟就可以基本繪制出圖形,而其他步驟并不完全必需。 步驟2一般在圖形較多的情況下,需要指定圖形窗口、子圖時(shí)使用。 除了步驟1、2、3的其他步驟用戶可以根據(jù)自己需要改變前后次序。 4.1.3多個(gè)圖形繪制的方法 1. 指定圖形窗口指定圖形窗口如果需要多個(gè)圖形窗口同時(shí)打開時(shí),可以使
8、用figure語句。 語法:語法: figure(n) %產(chǎn)生新圖形窗口說明:如果該窗口不存在,則產(chǎn)生新圖形窗口并設(shè)置為當(dāng)前圖形窗口,該窗口名為“Figure No.n”,而不關(guān)閉其它窗口。 2. 同一窗口多個(gè)子圖同一窗口多個(gè)子圖如果需要在同一個(gè)圖形窗口中布置幾幅獨(dú)立的子圖,可以在plot命令前加上subplot命令來將一個(gè)圖形窗口劃分為多個(gè)區(qū)域,每個(gè)區(qū)域一幅子圖。語法:語法:subplot(m,n,k)%使(mn)幅子圖中的第k幅成為當(dāng)前圖說明:將圖形窗口劃分為mn幅子圖,k是當(dāng)前子圖的編號(hào),“,”可以省略。子圖的序號(hào)編排原則是:左上方為第1幅,先向右后向下依次排列,子圖彼此之間獨(dú)立?!纠?/p>
9、例4.6】用subplot命令畫四個(gè)子圖,如圖4.6所示。 x=0:0.1:2*pi; subplot(2,2,1) %分割為分割為2*2個(gè)子圖,左上方個(gè)子圖,左上方為當(dāng)前圖為當(dāng)前圖 plot(x,sin(x) subplot(2,2,2) %右上方為當(dāng)前圖右上方為當(dāng)前圖 plot(x,cos(x) subplot(2,2,3) %左下方為當(dāng)前圖左下方為當(dāng)前圖 plot(x,sin(3*x) subplot(224) %右下方為當(dāng)前圖,省略逗號(hào)右下方為當(dāng)前圖,省略逗號(hào) plot(x,cos(3*x) 圖圖4.6 四個(gè)子圖四個(gè)子圖如果在使用繪圖命令之后,想清除圖形窗口畫其它圖形,應(yīng)使用“clf”
10、命令清圖形窗。3. 同一窗口多次疊繪同一窗口多次疊繪為了在一個(gè)坐標(biāo)系中增加新的圖形對(duì)象,可以用“hold”命令來保留原圖形對(duì)象。語法:語法: hold on %使當(dāng)前坐標(biāo)系和圖形保留 hold off %使當(dāng)前坐標(biāo)系和圖形不保留 hold %在以上兩個(gè)命令中切換說明:在設(shè)置了“hold on”后,如果畫多個(gè)圖形對(duì)象,則在生成新的圖形時(shí)保留當(dāng)前坐標(biāo)系中已存在的圖形對(duì)象,MATLAB會(huì)根據(jù)新圖形的大小,重新改變坐標(biāo)系的比例。【例例4.7】在同一窗口畫出函數(shù)sinx在區(qū)間0 2的曲線和cosx在區(qū)間- 的曲線,如圖4.7(a)所示。 x1=0:0.1:2*pi; plot(x1,sin(x1) ho
11、ld on x2=-pi:.1:pi; plot(x2,cos(x2) 程序分析:坐標(biāo)系的范圍由02轉(zhuǎn)變?yōu)?2。4. 雙縱坐標(biāo)圖雙縱坐標(biāo)圖語法:語法: plotyy(x1,y1,x2,y2) %以左、右不同縱軸繪制兩條曲線說明:左縱軸用于(x1,y1)數(shù)據(jù),右縱軸用于(x2,y2)數(shù)據(jù)來繪制兩條曲線。坐標(biāo)軸的范圍、刻度都自動(dòng)產(chǎn)生?!纠?.7續(xù)續(xù)】用plotyy函數(shù)實(shí)現(xiàn)在同一圖形窗口繪制兩條曲線,如圖4.7(b)所示。 plotyy(x1,sin(x1),x2,cos(x2) 程序分析:plotyy函數(shù)用不同顏色繪制兩條曲線,左右兩邊使用兩個(gè)縱坐標(biāo)軸,橫坐標(biāo)從-2。圖圖4.7 (a) 用用ho
12、ld on在同一窗口畫出兩條曲線在同一窗口畫出兩條曲線 (b) 用用plotyy在同一窗口畫出兩條曲線在同一窗口畫出兩條曲線4.1.4曲線的線型、顏色和數(shù)據(jù)點(diǎn)形 顏色顏色 數(shù)據(jù)點(diǎn)間連線數(shù)據(jù)點(diǎn)間連線 數(shù)據(jù)點(diǎn)形數(shù)據(jù)點(diǎn)形 類型類型 符號(hào)符號(hào) 類型類型 符號(hào)符號(hào) 類型類型 符號(hào)符號(hào) 黃色品紅色(紫色)青色紅色綠色藍(lán)色白色黑色 y(Yellow)m(Magenta)c(Cyan)r(Red)g(Green)b(Blue)w(White)k(Black) 實(shí)線(默認(rèn))點(diǎn)線點(diǎn)劃線虛線 -:-.- 實(shí)點(diǎn)標(biāo)記圓圈標(biāo)記叉號(hào)形十字形星號(hào)標(biāo)記方塊標(biāo)記鉆石形標(biāo)記向下的三角形標(biāo)記向上的三角形標(biāo)記向左的三角形標(biāo)記向右的三角
13、形標(biāo)記五角星標(biāo)記六連形標(biāo)記 .ox+*sdvph 語法:語法: plot(x,y,s)說明:x為橫坐標(biāo)矩陣,y為縱坐標(biāo)矩陣,s為類型說明字符串參數(shù);s字符串可以是線段類型、顏色和數(shù)據(jù)點(diǎn)形三種類型的符號(hào)之一,也可以是三種類型符號(hào)的組合?!纠?.8】用不同線段類型、顏色和數(shù)據(jù)點(diǎn)形畫出sinx和cosx曲線,如圖4.8所示。 x=0:0.1:2*pi; plot(x,sin(x),r-.) %用紅色點(diǎn)劃用紅色點(diǎn)劃線畫出曲線線畫出曲線 hold on plot(x,cos(x),b:o) %用藍(lán)色圓圈用藍(lán)色圓圈畫出曲線,用點(diǎn)線連接畫出曲線,用點(diǎn)線連接 圖圖4.8在同一窗口畫出兩條曲線在同一窗口畫出兩
14、條曲線4.1.5設(shè)置坐標(biāo)軸和文字標(biāo)注 1. 坐標(biāo)軸的控制 命令命令 含義含義 命令命令 含義含義 axis auto 使用默認(rèn)設(shè)置 axis equal 縱、橫軸采用等長(zhǎng)刻度 axis manual 使當(dāng)前坐標(biāo)范圍不變 axis fill 在manual方式下起作用,使坐標(biāo)充滿整個(gè)繪圖區(qū) axis off 取消軸背景 axis image 縱、橫軸采用等長(zhǎng)刻度,且坐標(biāo)框緊貼數(shù)據(jù)范圍 axis on 使用軸背景 axis normal 默認(rèn)矩形坐標(biāo)系axis ij 矩陣式坐標(biāo),原點(diǎn)在左上方 axis square 產(chǎn)生正方形坐標(biāo)系 axis xy 普通直角坐標(biāo),原點(diǎn)在左下方 axis tight
15、 把數(shù)據(jù)范圍直接設(shè)為坐標(biāo)范圍 2. 分格線和坐標(biāo)框分格線和坐標(biāo)框(1) 使用grid命令顯示分格線語法:語法: grid on%顯示分格線 grid off%不顯示分格線 grid%在以上兩個(gè)命令間切換說明:不顯示分格線是MATLAB的默認(rèn)設(shè)置。分格線的疏密取決于坐標(biāo)刻度,如果要改變分格線的疏密,必須先定義坐標(biāo)刻度。(2) 使用box命令顯示坐標(biāo)框語法:語法: box on%使當(dāng)前坐標(biāo)框呈封閉形式 box off%使當(dāng)前坐標(biāo)框呈開啟形式box %在以上兩個(gè)命令間切換說明:在默認(rèn)情況下,所畫的坐標(biāo)框呈封閉形式。 【例例4.9】在兩個(gè)子圖中使用坐標(biāo)軸、分格線和坐標(biāo)框控制,如圖4.9所示。 x=0:
16、0.1:2*pi; subplot(2,1,1) plot(sin(x),cos(x) axis equal %縱、橫軸采用等長(zhǎng)刻度縱、橫軸采用等長(zhǎng)刻度 grid on %加分格線加分格線 subplot(2,1,2) plot(x,exp(-x) axis(0,3,0,2) %改改變變坐坐標(biāo)軸標(biāo)軸范范圍圍 圖圖4.9 用坐標(biāo)軸、分格線和坐標(biāo)框控制用坐標(biāo)軸、分格線和坐標(biāo)框控制3. 文字標(biāo)注文字標(biāo)注(1) 添加圖名語法:語法: title(s)%書寫圖名說明:s為圖名,為字符串,可以是英文或中文。(2) 添加坐標(biāo)軸名語法:語法: xlabel(s) %橫坐標(biāo)軸名 ylabel(s) %縱坐標(biāo)軸名
17、(3) 添加圖例語法:語法: legend(s,pos) %在指定位置建立圖例 legend off %擦除當(dāng)前圖中的圖例說明:參數(shù)s是圖例中的文字注釋,如果多個(gè)注釋則可以用s1,s2,的方式;參數(shù)pos是圖例在圖上位置的指定符,它的取值如表4.4所示。 pos取值取值 01234-1圖例位置圖例位置 自動(dòng)取最佳位置 右上角(默認(rèn)) 左上角 左下角 右下角 圖右側(cè) (4) 添加文字注釋語法:語法:text(xt,yt,s)%在圖形的(xt,yt)坐標(biāo)處書寫文字注釋【例例4.10】在圖形窗口中添加文字注釋。 x=0:0.1:2*pi; plot(x,sin(x) hold on plot(x,c
18、os(x),ro) title(y1=sin(x),y2=cos(x) %添加標(biāo)題添加標(biāo)題 xlabel(x) %添加橫坐標(biāo)名添加橫坐標(biāo)名 legend(sin(x),cos(x),4) %在右下角添加圖例在右下角添加圖例text(pi,sin(pi),x=pi) %在在pi,sin(pi)處處添添 加文字注加文字注釋釋 圖圖4.10 添加圖形標(biāo)注添加圖形標(biāo)注4.2 MATLAB的三維圖形繪制 plot3是用來繪制三維曲線的,它的使用格式與二維繪圖的plot命令很相似。語法:語法: plot3(x,y,z, s) %繪制三維曲線 plot3(x1,y1,z1, s1,x2,y2,z2, s2,
19、) %繪制多條三維曲線說明:當(dāng)x、y、z是同維向量時(shí),則繪制以x、y、z元素為坐標(biāo)的三維曲線;當(dāng)x、y、z是同維矩陣時(shí),則繪制三維曲線的條數(shù)等于矩陣的列數(shù)。s是指定線型、色彩、數(shù)據(jù)點(diǎn)形的字符串?!纠?.13】三維曲線繪圖,如圖4.12所示。 x=0:0.1:20*pi; plot3(x,sin(x),cos(x)%按系統(tǒng)默認(rèn)設(shè)置繪圖按系統(tǒng)默認(rèn)設(shè)置繪圖 圖圖4.12 三維曲線三維曲線 4.2.2立體圖形與圖軸的控制 1網(wǎng)格的隱藏網(wǎng)格的隱藏如果要使被遮蓋的網(wǎng)格也能呈現(xiàn)出來,可用“hidden off”命令。語法:語法:hidden off %顯示被遮蓋的網(wǎng)格hidden on %隱藏被遮蓋的網(wǎng)格
20、【例例4.15】顯示被遮蓋的網(wǎng)格,如圖4.18所示。 x,y,z=peaks; %peaks函數(shù)函數(shù) mesh(x,y,z) %繪制曲面圖繪制曲面圖 hidden off %顯示網(wǎng)格顯示網(wǎng)格 圖圖4.18 顯示網(wǎng)線的顯示網(wǎng)線的peaks函數(shù)函數(shù)2改變視角改變視角立體圖形的觀測(cè)角度是由方位角和俯仰角決定的,與X平面所成的夾角稱方位角,與Z平面所成的夾角成為俯仰角。對(duì)二維圖形默認(rèn)方位角=0,俯仰角=90;對(duì)三維圖形默認(rèn)方位角=-37.5,俯仰角=30。三維圖形的觀測(cè)角度不同則顯示也不同,如果要改變觀測(cè)角度,可用“view”命令。 語法:語法:view(az,el) %通過方位角和俯仰角改變視角 v
21、iew(vx,vy,vz) %通過直角坐標(biāo)改變視角說明:az表示方位角,el表示俯仰角;vx、vy、vz表示直角坐標(biāo)?!纠?.15續(xù)續(xù)】改變peaks函數(shù)的視角,如圖4.19所示。 view(0,0) view(0,90)view(-37.5,30) %恢復(fù)原視角恢復(fù)原視角 程序分析:視角為(0,0),得到一個(gè)(x,z)的二維圖形效果;視角為(0,90),得到一個(gè)(x,y)的二維圖形效果。 圖圖4.19 (a) 視角為視角為(0,0)的的peaks函數(shù)函數(shù) (b) 視角為視角為(0,90)的的peaks函數(shù)函數(shù)4.3 MATLAB的特殊圖形繪制 4.3.1條形圖條形圖常用于對(duì)統(tǒng)計(jì)的數(shù)據(jù)進(jìn)行作
22、圖,特別適用于少量且離散的數(shù)據(jù)函數(shù)及功能:函數(shù)及功能: bar ,垂直條形圖;,垂直條形圖;bar3,三維垂直條形圖,三維垂直條形圖barh,水平條形圖;,水平條形圖;bar3h,三維水平條形圖,三維水平條形圖語法:語法:bar(x,y,width,參數(shù)參數(shù)) %畫條形圖 bar3(y,z,width,參數(shù)參數(shù)) %畫三維條形圖說明:x是橫坐標(biāo)向量,省略時(shí)默認(rèn)值是1:m,m為y的向量長(zhǎng)度;y是縱坐標(biāo),可以是向量或矩陣,當(dāng)是向量時(shí)每個(gè)元素對(duì)應(yīng)一個(gè)豎條,當(dāng)是mn的矩陣時(shí),將畫出m組豎條每組包含n條;width是豎條的寬度,省略時(shí)默認(rèn)寬度是0.8,如果寬度大于1,則條與條之間將重疊;參數(shù)有g(shù)roup
23、ed(分組式)和stacked(累加式),省略時(shí)默認(rèn)為grouped。bar3命令的格式也相同,y必須是單調(diào)增加或減小,省略時(shí)為1:m;參數(shù)除了grouped和stacked還有detached(分離式)。【例例4.19】用條形圖表示某年一月份中3日6日連續(xù)四天的溫度數(shù)據(jù),y矩陣的各列分別表示平均溫度、最高溫度和最低溫度,如圖4.23所示,用條形圖和三維條形圖分別表示。 x=3:6; y=5.3000 13.0000 0.4000 5.1000 11.8000 -1.7000 3.7000 8.1000 0.6000 1.5000 7.7000 -4.5000 bar(x,y) %畫條形圖畫條
24、形圖 bar3(x,y) %畫三畫三維維條形條形圖圖 程序分析:由上圖看出條形圖是按行分組的,每組為每天的平均溫度、最高溫度和最低溫度。 圖圖4.23 (a) 條形圖條形圖 (b) 三維條形圖三維條形圖4.3.2面積圖和實(shí)心圖 1. 面積圖面積圖面積圖是在曲線與橫軸之間填充顏色,用于繪制面積圖的命令為“area”,只能用于二維繪圖。語法:語法: area(y) %畫面積圖area(x,y)說明:y可以是向量或矩陣,如果y是向量則繪制的曲線和plot命令相同,只是曲線和橫軸之間填充顏色,如果y是矩陣則每列向量的數(shù)據(jù)構(gòu)成面積疊加起來;x是橫坐標(biāo),當(dāng)x省略時(shí)則橫坐標(biāo)為1:size(y,1)。 2.
25、實(shí)心圖實(shí)心圖實(shí)心圖是將數(shù)據(jù)的起點(diǎn)和終點(diǎn)連成多邊形,并填充顏色,繪制實(shí)心圖的命令為“fill”。語法:語法: fill(x,y,c) %畫實(shí)心圖說明:c為實(shí)心圖的顏色,可以用r、g、b、 c、m、y、w、k,也可以省略?!纠?.19續(xù)續(xù)】繪制面積圖和實(shí)心圖,并比較其區(qū)別,如圖4.24所示。 area(x,y) %面積圖面積圖 fill(x,y,r) %紅色的實(shí)心圖紅色的實(shí)心圖 程序分析:由上圖可知面積圖是繪制曲線和橫軸間的面積,y的各列疊加在一起的,而實(shí)心圖是將起點(diǎn)和終點(diǎn)連接并填充顏色的多邊形。圖圖4.24 (a) 面積圖面積圖 (b) 實(shí)心圖實(shí)心圖4.3.3直方圖 直方圖用于顯示數(shù)據(jù)的分布規(guī)
26、律,具有統(tǒng)計(jì)的功能。直方圖用于顯示數(shù)據(jù)的分布規(guī)律,具有統(tǒng)計(jì)的功能。語法:語法:hist(y,m) %統(tǒng)計(jì)每段的元素個(gè)數(shù)并畫出直方圖 hist(y,x)說明:m是分段的個(gè)數(shù),省略時(shí)則默認(rèn)為10;x是向量,用于指定所分每個(gè)數(shù)據(jù)段的中間值;y可以是向量或矩陣,如果是矩陣則按列分段?!纠?.20】用直方圖表示正態(tài)分布的隨機(jī)數(shù)分布。 y=randn(10,2) %產(chǎn)生產(chǎn)生10*2的正態(tài)分布的隨機(jī)數(shù)矩陣的正態(tài)分布的隨機(jī)數(shù)矩陣 x=-2:0.5:2; hist(y,x) 圖圖4.25 直方圖直方圖 4.3.4餅圖 餅圖是用于顯示向量中的各元素占向量元素總和的百分比,可以用pie和pie3命令分別繪制二維和
27、三維餅圖。語法:語法:pie(x,explode,label) %畫二維餅圖pie3(x,explode,label) %畫三維餅圖說明:x是向量;explode是與x同長(zhǎng)度的向量,用來決定是否從餅圖中分離對(duì)應(yīng)的一部分塊,非零元素表示該部分需要分離;label是用來標(biāo)注餅圖的字符串?dāng)?shù)組。 【例例4.21】繪制四個(gè)季度支出額的餅圖,如圖4.26所示。 y=200 100 250 400;%四個(gè)四個(gè)季度支出額季度支出額 explode=0 0 0 1; pie(y,explode,第一季度第一季度,第二第二季度季度,第三季度第三季度,第四季度第四季度) 圖圖4.26 餅圖餅圖4.3.6對(duì)數(shù)坐標(biāo)和極
28、坐標(biāo)圖對(duì)數(shù)坐標(biāo)和極坐標(biāo)圖1. 對(duì)數(shù)坐標(biāo)圖形對(duì)數(shù)坐標(biāo)圖形對(duì)數(shù)坐標(biāo)圖形有semilogx、semilogy和loglog命令。語法:語法:semilogx(x,y,參數(shù)參數(shù)) %繪制x為對(duì)數(shù)坐標(biāo)的曲線semilogy(x,y,參數(shù)參數(shù)) %繪制y為對(duì)數(shù)坐標(biāo)的曲線loglog(x,y,參數(shù)參數(shù)) %繪制x、y都為對(duì)數(shù)坐標(biāo)的曲線說明:參數(shù)和plot命令一樣,只是坐標(biāo)不同?!纠?.23】求傳遞函數(shù)為G(s)=1/s(0.5s+1)的對(duì)數(shù)幅頻特性曲線,如圖4.28所示,橫坐標(biāo)為w按對(duì)數(shù)坐標(biāo)。 w=logspace(-2,3,20); %頻率頻率w為為0.01到到1000 Aw=1./(w.*sqrt(0
29、.5*w).2+1); %計(jì)算幅頻計(jì)算幅頻 Lw=20*log10(Aw); %計(jì)算對(duì)數(shù)幅頻計(jì)算對(duì)數(shù)幅頻 semilogx(w,Lw) title(對(duì)對(duì)數(shù)幅數(shù)幅頻頻特性曲特性曲線線) 圖圖4.28 對(duì)數(shù)頻率特性對(duì)數(shù)頻率特性2. 極坐標(biāo)圖極坐標(biāo)圖極坐標(biāo)圖由polar命令來實(shí)現(xiàn)。語法:語法: polar(theta,radius,參數(shù)參數(shù)) %繪制極坐標(biāo)圖說明:theta為相角,radius為離原點(diǎn)的距離?!纠?.23續(xù)續(xù)】用極坐標(biāo)圖表示上述傳遞函數(shù)的Nyquist曲線,如圖4.29所示。 w=logspace(-2,3,20); Fw=-90-atan(0.5*w);polar(Fw,Aw)
30、圖圖4.29 極坐標(biāo)圖極坐標(biāo)圖4.4圖形窗口的功能1工具欄工具欄從MATLAB的圖形窗口帶有工具欄,工具欄如圖4.32所示。添加箭頭添加直線添加文字圖形對(duì)象編輯放大縮小三維圖形旋轉(zhuǎn)圖圖4.32 圖形窗口的工具條圖形窗口的工具條2菜單菜單圖形窗口中的Edit和Insert菜單可以方便地編輯圖形,Edit和Insert菜單如圖4.33所示。圖圖 4.33 (a) Edit菜單菜單 (b) Insert菜單菜單 Edit菜單:選擇“Figure Properties”、“Axes Properties”和“Current Object Properties”菜單項(xiàng),可以打開相應(yīng)的窗口來修改圖形屬性、
31、坐標(biāo)軸屬性和對(duì)象屬性。例如圖4.34所示的坐標(biāo)軸屬性窗口,可以方便地設(shè)置坐標(biāo)軸尺寸、類型、文字標(biāo)注、視角等。 InsertInsert菜單菜單:可以插入各種文字標(biāo)注、箭頭、坐標(biāo)軸等。 4.5對(duì)話框MATLAB提供了大量的建立專用對(duì)話框的函數(shù)。對(duì)話框函數(shù) 對(duì)話框類型對(duì)話框函數(shù) 對(duì)話框類型Helpdlg幫助對(duì)話框questdlg提問對(duì)話框Inputdlg輸入對(duì)話框Msgbox消息框?qū)υ捒騑arndlg警告對(duì)話框Pagedlg圖形位置設(shè)置對(duì)話框errordlg錯(cuò)誤提示對(duì)話框Printdlg打印對(duì)話框1. 輸入信息對(duì)話框輸入信息對(duì)話框輸入對(duì)話框?yàn)橛脩舻妮斎胄畔⑻峁┝私缑妫褂胕nputdlg命令創(chuàng)建。
32、語法:語法:answer= inputdlg(prompt,title,lineno,defans,addopts) %創(chuàng)建輸入對(duì)話框說明:answer 返回用戶的輸入;prompt為提示信息字符串,用引號(hào)括起來;title為標(biāo)題字符串,用引號(hào)括起來,可以省略;lineno用于指定輸入值的行數(shù),可以省略;defans為輸入項(xiàng)的默認(rèn)值,用引號(hào)括起來,可以省略;addopts指定對(duì)話框是否可以改變大小,取on或off,省略時(shí)為off表示不能改變大小,為有模式對(duì)話框(有模式對(duì)話框是指在對(duì)話框關(guān)閉之前,用戶無法進(jìn)行其它程序的運(yùn)行),如果為on則可以改變大小,自動(dòng)變?yōu)闊o模式對(duì)話框?!纠?.26】利用輸
33、入對(duì)話框輸入二階系統(tǒng)的系數(shù),如圖4.35所示。 prompt=請(qǐng)輸入阻尼系數(shù)請(qǐng)輸入阻尼系數(shù),請(qǐng)輸入無阻尼振請(qǐng)輸入無阻尼振蕩頻率蕩頻率;defans=0.707,1; p=inputdlg(prompt,輸輸入?yún)?shù)入?yún)?shù),1,defans) 圖圖4.35 輸入對(duì)話框輸入對(duì)話框2. 輸輸出信息出信息對(duì)話對(duì)話框框 語法:語法:msgbox(message,title,icon,icondata,iconcmap,CreateMode) %創(chuàng)建消息框說明:message為顯示的信息,可以是字符串或數(shù)組;title為標(biāo)題,是字符串可省略;icon為顯示的圖標(biāo),可取值為“none”(無圖標(biāo))、“error
34、”(出錯(cuò)圖標(biāo))、“ h e l p ” ( 幫 助 圖 標(biāo) ) 、 “ w a r n ” ( 警 告 圖 標(biāo) ) 或“custom”(自定義圖標(biāo)),也可省略;當(dāng)使用“custom”時(shí),用icondata定義圖標(biāo)的數(shù)據(jù),用iconcmap定義圖標(biāo)的顏色映象;CreateMode為對(duì)話框的產(chǎn)生模式可省略,取值為“modal”(有模式)、“replace”(無模式可代替同名的對(duì)話框)、“non-modal”(默認(rèn)為無模式)?!纠?.26續(xù)續(xù)】使用消息框顯示當(dāng)阻尼系數(shù)大于1時(shí)的警告信息,如圖4.36所示。 msgbox(阻尼系數(shù)輸入范圍出錯(cuò)阻尼系數(shù)輸入范圍出錯(cuò),警告警告,warn) 圖圖4.36
35、消息框消息框【例例4.26續(xù)續(xù)】使用警告對(duì)話框顯示當(dāng)阻尼系數(shù)大于1時(shí)的警告信息。 warndlg(阻尼系數(shù)輸入范圍出錯(cuò)阻尼系數(shù)輸入范圍出錯(cuò),警告警告) 程序分析:產(chǎn)生的對(duì)話框與圖4.36一樣?!纠?.26續(xù)續(xù)】使用出錯(cuò)提示框顯示當(dāng)阻尼系數(shù)小于0時(shí)出錯(cuò)信息,如圖4.37所示。 errordlg(阻尼系數(shù)輸入出錯(cuò)阻尼系數(shù)輸入出錯(cuò),出錯(cuò)出錯(cuò)) 【例例4.26續(xù)續(xù)】使用幫助提示框顯示阻尼系數(shù)的范圍,如圖4.38所示。 helpdlg(欠阻尼系數(shù)應(yīng)大于欠阻尼系數(shù)應(yīng)大于0小于小于1,幫助幫助) 圖圖4.38 幫助提示框幫助提示框【例例4.26續(xù)續(xù)】使用提問提示框使用戶確認(rèn),如圖4.39所示。 butto
36、n=questdlg(是否確認(rèn)?是否確認(rèn)?,Are you sure?,Yes,No,Yes) 程序分析:有兩個(gè)按鈕,默認(rèn)的指定按鈕為“Yes”,即當(dāng)用戶按下回車鍵時(shí),返回“Yes”,當(dāng)用戶單擊按鈕“No”時(shí),返回“No”。圖圖4.39 提問提示框提問提示框3. 文件管理對(duì)話框文件管理對(duì)話框在進(jìn)行GUI設(shè)計(jì)中,除了會(huì)用到上面所講的專用對(duì)話框外還會(huì)用到一些標(biāo)準(zhǔn)的對(duì)話框。對(duì)話框函數(shù) 對(duì)話框類型對(duì)話框函數(shù) 對(duì)話框類型Uigetfile打開文件對(duì)話框 uisetfont設(shè)置字體對(duì)話框uiputfile保存文件對(duì)話框 Uisetcolor設(shè)置顏色對(duì)話框(1) 打開文件對(duì)話框uigetfileuigetf
37、ile命令提供了打開文件對(duì)話框,可以選擇文件類型和路徑。語法:語法:FileName, PathName = uigetfile(FiltrEspec, Title,x,y)說明:FileName和PathName分別為返回的文件名和路徑,可省略,如果按“取消”按鈕或發(fā)生錯(cuò)誤,都返回0;FiltrEspec指定初始時(shí)顯示的文件名,可以用通配符“*”表示,當(dāng)省略時(shí),則自動(dòng)列出當(dāng)前路徑下的所有“*.m”文件和目錄;Title為對(duì)話框標(biāo)題,可省略;x、y分別指定對(duì)話框在屏幕上的位置(到屏幕左上角的距離),單位是像素,可省略。【例例4.27】利用打開文件對(duì)話框選擇MATLAB目錄下的文件license
38、.txt,如圖4.40所示。fname,pname=uigetfile(*.*,打開打開文件文件,100,100) 程序分析:在屏幕的(100,100)位置顯示打開文件對(duì)話框,單擊“打開”按鈕,返回文件名和路徑名到fname和pname變量。圖圖4.40 打開文件對(duì)話框打開文件對(duì)話框(2) 保存文件對(duì)話框uiputfileuiputfile命令提供了保存文件對(duì)話框,用來選擇文件類型和路徑。語法:語法:FileName, PathName = uiputfile(FiltrEspec, Title,x,y)說明:參數(shù)定義與uigetfile相同?!纠?.27續(xù)續(xù)】利用保存文件對(duì)話框來選擇文件。
39、fname1,pname1=uiputfile(Ex0431.mat,保存文件保存文件) 運(yùn)行該命令則會(huì)出現(xiàn)保存文件對(duì)話框.4.6句柄圖形 句柄圖形是一種面向?qū)ο蟮膱D形設(shè)計(jì)系統(tǒng),是對(duì)圖形低層的總稱。也就是將一個(gè)圖形的每一個(gè)組件都視做一個(gè)對(duì)象,每個(gè)對(duì)象都有一個(gè)獨(dú)一無二的句柄,句柄是存取圖形對(duì)象的唯一識(shí)別,不同對(duì)象的句柄不能重復(fù)。 句柄圖形體系由若干圖形對(duì)象組成,如下圖所示。Root(屏幕)Figure(圖)Uicontrol(界面控件)Axes(軸)Uimenu(界面菜單)Line(線條)Surface(表面)Rectangle(矩形)Patch(貼片)Image(圖像)Text(文字)Ligh
40、t(光源)圖圖4.41 句柄圖形體系句柄圖形體系4.6.1圖形對(duì)象的操作 1圖圖形形對(duì)對(duì)象的象的創(chuàng)創(chuàng)建建 每次創(chuàng)建一個(gè)對(duì)象時(shí),就為它建立一個(gè)唯一的句柄。每個(gè)命令的格式及功能如表4.11所示。命令命令 功能功能 說明說明 h_ figure =figure(n) 創(chuàng)建第n個(gè)圖形窗口 n為正整數(shù) h_axes =axes(position,left,bottom,width,height) 創(chuàng)建坐標(biāo)軸 定義軸的位置和大小 h_ line =line(x,y,z) 創(chuàng)建直線 z省略則在二維平面上 h_ surface=surface(x,y,z,c) 創(chuàng)建面 x、y、z定義三維曲面,c是顏色參數(shù) h
41、_ rectangle=rectangle (position,x,y,w,h,curvature,xc,yc) 創(chuàng)建矩形 x、y為左下頂點(diǎn)坐標(biāo),w、h為長(zhǎng)方形的寬和高,xc、yc為曲率 h_ patch=patch(faces,fac,veitices,vert) 創(chuàng)建貼片 fac為多邊形頂點(diǎn)的序號(hào)矩陣,vert為頂點(diǎn)矩陣 命令功能說明h_ image=image(x) 創(chuàng)建圖像 x為圖像數(shù)據(jù)矩陣h_ text=text(x,y,string) 創(chuàng)建文字 x、y為字符串string的標(biāo)注位置 h_ light=light(PropertyName,Propertyvalue) 創(chuàng)建光源 設(shè)置
42、光的入射方向 h_ uicontrol =uicontrol(PropertyName,Propertyvalue) 創(chuàng)建用戶界面控件 PropertyName和Propertyvalue指定控件的類型 h_uimenu = uimenu (propertyName, Propertyvalue) 創(chuàng)建用戶界面菜單 propertyName和Propertyvalue指定菜單的形式 2對(duì)對(duì)象句柄的象句柄的獲獲取取 (1) 當(dāng)前對(duì)象句柄的獲取句柄實(shí)際上是分配給MATLAB對(duì)象的數(shù)字標(biāo)識(shí)。計(jì)算機(jī)屏幕作為根對(duì)象,其句柄為0,F(xiàn)igure(圖)的句柄總是正整數(shù),一般在圖形標(biāo)題欄中的“Figure No
43、.”之后的數(shù)值就是該圖形窗口的句柄,其余對(duì)象的句柄都是雙精度型浮點(diǎn)數(shù)。MATLAB提供了三個(gè)獲取當(dāng)前對(duì)象句柄的命令,分別是gcf、gca、gco。語法:語法:gcf %獲取當(dāng)前圖形窗口句柄gca %獲取當(dāng)前坐標(biāo)軸句柄gco %獲取被鼠標(biāo)最近點(diǎn)擊對(duì)象的句柄【例例4.28】使用命令獲取圖形對(duì)象的句柄,如圖所示。 x=0:0.1:2*pi; y=sin(x).*exp(-x); plot(x,y) text(pi,0,leftarrowexp(-x)*sin(x)=0) h_fig=gcf %獲取圖形窗口的句柄獲取圖形窗口的句柄 h_fig =1 h_axes=gca %獲取坐標(biāo)軸的句柄獲取坐標(biāo)軸的
44、句柄 h_axes =101.0013 h_obj=gco %獲取最近點(diǎn)擊對(duì)象的句柄獲取最近點(diǎn)擊對(duì)象的句柄 h_obj =3.0017 01234567-0.0500.050.10.150.20.250.30.35exp(-x)*sin(x)=0(2) 查找對(duì)象用命令 findobj可以快速查找所有對(duì)象,以及獲取指定屬性值的對(duì)象句柄。語法:語法:h=findobj %返回根對(duì)象和所有子對(duì)象的句柄h=findobj(h_obj) %返回指定對(duì)象的句柄h=findobj(PropertyName,PropertyValue)%返回符合指定屬性值的對(duì)象句柄h=findobj(h_obj,Proper
45、tyName, PropertyValue)%在指定對(duì)象及子對(duì)象中查找符合指定屬性值的對(duì)象句柄說明:h_obj為指定對(duì)象句柄;PropertyName為屬性名;PropertyValue為屬性值。 【例例4.28續(xù)續(xù)】使用findobj命令獲取圖4.42中圖形對(duì)象的句柄。 findobj %返回根對(duì)象和所有子對(duì)象的句柄返回根對(duì)象和所有子對(duì)象的句柄 ans = 0 1.0000 100.0013 101.0038 3.0017 h_text=findobj(h_fig,string,leftarrowexp(-x)*sin(x)=0) %查找符合屬性值的文字對(duì)象句柄查找符合屬性值的文字對(duì)象句柄
46、h_text =101.0038 程序分析:根對(duì)象句柄為0;其子對(duì)象圖形窗口句柄為1;圖形窗口子對(duì)象坐標(biāo)軸句柄為100.0013;坐標(biāo)軸子對(duì)象文字句柄為101.0038;坐標(biāo)軸子對(duì)象曲線句柄為3.0017;文字對(duì)象的文字屬性名為string。(3) 追溯父對(duì)象和子對(duì)象的句柄 如果一個(gè)對(duì)象的句柄已知,則可以追溯到其父對(duì)象和子對(duì)象的句柄。語法:語法:h_parent=get(h_obj,parent) %追溯父對(duì)象的句柄h_children=get(h_obj,children) %追溯子對(duì)象的句柄【例例4.28續(xù)續(xù)】追溯坐標(biāo)軸對(duì)象的父對(duì)象和子對(duì)象。 h_children=get(h_axes,c
47、hildren) %子對(duì)象為文字對(duì)象和曲線對(duì)象 h_children =101.0038 3.0017 h_parent=get(h_axes,parent) %父對(duì)象為圖形窗口對(duì)象父對(duì)象為圖形窗口對(duì)象 h_parent = 1 3對(duì)象句柄的刪除對(duì)象句柄的刪除刪除圖形對(duì)象使用命令delete(h_obj),該命令將刪除句柄所指對(duì)象和所有子對(duì)象,而且不提示確認(rèn),使用時(shí)要小心。【例例4.28續(xù)續(xù)】刪除坐標(biāo)軸。 delete(h_axes) 4.6.3圖形對(duì)象屬性的獲取和設(shè)置 在MATLAB中所有的句柄對(duì)象都有屬性,通過設(shè)置這些屬性可以來定義或者修改所需要的圖形。對(duì)象屬性包括兩部分:屬性名和對(duì)應(yīng)的數(shù)
48、值,屬性名是字符串。1創(chuàng)建對(duì)象時(shí)設(shè)置屬性創(chuàng)建對(duì)象時(shí)設(shè)置屬性對(duì)象的屬性可以在創(chuàng)建時(shí)設(shè)置,在創(chuàng)建時(shí)句柄圖形對(duì)象可以設(shè)置多個(gè)屬性?!纠?.29】創(chuàng)建圖形對(duì)象。h_fig=figure(color,red,menubar,none,position,0,0,300,300) 或者使用結(jié)構(gòu)數(shù)組創(chuàng)建圖形對(duì)象: ps.color=red; ps.position=0,0,300,300; ps.menubar=none; h_fig=figure(ps) h_fig = 1 程序分析:創(chuàng)建一個(gè)窗口,背景為紅色,沒有菜單條,在屏幕的(0,0)位置,寬度、高度為300。2. 用用get函數(shù)獲取屬性值函數(shù)獲取屬
49、性值get函數(shù)用于獲取指定對(duì)象的屬性值。語法:語法:get(h_obj) %獲取句柄對(duì)象所有屬性的當(dāng)前值get(h_obj, PropertyName) %獲取句柄對(duì)象指定屬性的當(dāng)前值【例例4.29續(xù)續(xù)】獲取圖形對(duì)象屬性。 p=get(h_fig,position) p = 0 0 300 300 c=get(h_fig,color) c = 1 0 0 程序分析:圖形對(duì)象的顏色為紅色,用R,G,B三元組表示。3. 用用set函數(shù)設(shè)置屬性值函數(shù)設(shè)置屬性值set函數(shù)用來設(shè)置對(duì)象的屬性值。語法:語法:set(h_obj) %顯示句柄對(duì)象所有屬性和屬性值set(h_obj, PropertyName
50、) %顯示句柄對(duì)象指定屬性名的屬性值set(h_obj,PropertyName, PropertyValue ) %設(shè)置句柄對(duì)象指定屬性的屬性值set(h_obj, PropertyStructure) %用結(jié)構(gòu)數(shù)組設(shè)置句柄對(duì)象指定屬性的屬性值【例例4.30】使用低層命令畫圖,并設(shè)置各對(duì)象的屬性,如圖4.43所示。h_fig=figure(color,red,menubar,none,position,0,0,300,300); x=0:0.1:2*pi; y=sin(x).*exp(-x); h_line1=plot(x,y,b); title(y=exp(-x)*sin(x) set(g
51、ca,ygrid,on) %顯示顯示y網(wǎng)格網(wǎng)格line1width=get(h_line1,linewidth) %獲取曲線寬度獲取曲線寬度 line1width = 0.5000 set(h_line1,linewidth,3) %設(shè)置曲線寬度設(shè)置曲線寬度 h_title =get(gca,title) %獲取標(biāo)題句柄獲取標(biāo)題句柄 h_title = 115.0016titlefontsize=get(h_title,fontsize) %獲取字體大小獲取字體大小 set(h_title,fontsize,13)%設(shè)置標(biāo)題字體大小設(shè)置標(biāo)題字體大小 h_text1=text(pi,0,down
52、arrow); %畫向下箭頭畫向下箭頭 text1pos=get(h_text1,position)%獲取文字位置獲取文字位置h_text2=text(text1pos(1,1),text1pos(1,2)+0.025,exp(-x)*sin(x)=0); %設(shè)置文字位置設(shè)置文字位置 set(h_text1,fontsize,13,color,red)%設(shè)置字體大小、顏色設(shè)置字體大小、顏色 set(h_text2,fontsize,13,color,red) 圖圖4.43 圖形對(duì)象圖形對(duì)象4.7圖形用戶界面(GUI)設(shè)計(jì) MATLAB設(shè)計(jì)圖形用戶界面的方法有兩種:使用可視化的界面環(huán)境和通過編寫
53、程序。 4.7.1可視化的界面環(huán)境可視化的界面環(huán)境 MATLAB提供了可視化的界面環(huán)境Guide打開可視化界面環(huán)境的方法有以下幾種:(1) 選擇菜單“File”“ New”“GUI”命令;(2) 在命令窗口輸入“Guide”命令。 可視化界面環(huán)境如圖在工具欄主要提供了四個(gè)工具:對(duì)象對(duì)齊工具(Align Objects)、菜單編輯器(Menu Editor)、屬性編輯器(Property Inspector)和對(duì)象瀏覽器(Object Browser),單擊這四個(gè)按鈕就會(huì)出現(xiàn)相應(yīng)的窗口。在可視化的界面環(huán)境的左邊是圖形對(duì)象面板,有各種控件可以通過拖放到空白的界面編輯面板來創(chuàng)建新控件。激活圖形圖形對(duì)
54、象面板界面編輯面板對(duì)象瀏覽器屬性編輯器菜單編輯器對(duì)象對(duì)齊工具圖圖4.45 可視化界面環(huán)境可視化界面環(huán)境4.7.2菜單 1.1. 菜菜單編輯單編輯器器 在可視化界面窗口選擇選單“tools”- “menu editor.”或單擊工具欄“menu editor”按鈕,就會(huì)出現(xiàn)選單編輯器窗口?!纠?.31】使用菜單編輯器創(chuàng)建菜單。 在菜單編輯器創(chuàng)建菜單,如圖4.47所示,如果是直接在可視化的界面環(huán)境中新建圖形窗口,則從頭開始新建菜單,如圖4.47(a);如果在已存在的圖形窗口中創(chuàng)建菜單,則MATLAB圖形窗口默認(rèn)有七個(gè)標(biāo)準(zhǔn)菜單,新建的菜單從最右邊添加,如圖4.47(b)。在圖4.47(a)中創(chuàng)建了
55、兩個(gè)菜單“File”和“Paint”,在圖4.47(b)中創(chuàng)建了一個(gè)菜單“Paint”,并具有兩級(jí)下拉子菜單,“Circle”和“Color”為第一級(jí)下拉菜單,“Red”和“Blue”為第二級(jí)。 圖圖4.47 (a)在新窗口創(chuàng)建菜單在新窗口創(chuàng)建菜單 (b)在已建的窗口創(chuàng)建菜單在已建的窗口創(chuàng)建菜單2. 編程創(chuàng)建菜單編程創(chuàng)建菜單【例例4.31續(xù)續(xù)】編程創(chuàng)建如上圖4.47(b)所示的菜單。 h_fig=gcf h_fig = 1 h_menu=uimenu(h_fig,label,Paint); %創(chuàng)建菜單Paint h_menu1=uimenu(h_menu,label,Circle); %創(chuàng)建P
56、aint的子菜單Circle h_menu2=uimenu(h_menu,label,Color); %創(chuàng)建Paint的子菜單Color h_menu21=uimenu(h_menu2,label,Red); %創(chuàng)建Color的子菜單Red h_menu22=uimenu(h_menu2,label,Blue); %創(chuàng)建Color的子菜單Blue 程序分析:label屬性用來命名菜單項(xiàng)名稱,和圖4.46的菜單編輯器中的label欄一致。3. 回調(diào)函數(shù)回調(diào)函數(shù)【例例4.31續(xù)續(xù)】將已創(chuàng)建的菜單修改,并添加回調(diào)函數(shù)。h_menu21=uimenu(h_menu2,label,Red,callbac
57、k,set(h_fig,color,red) %創(chuàng)建Color的子菜單Red將圖形背景為紅色 h_menu22=uimenu(h_menu2,label,Blue,callback,set(h_fig,color,blue) %創(chuàng)建Color的子菜單Blue將圖形背景為藍(lán)色4.7.3控件控件 除了選單外,控件也是很重要的界面組成部分。 1. 常用控件常用控件 控件名控件名 PropertyName 功能功能 按鈕 PushButton 最常用的控件,用于響應(yīng)用戶的鼠標(biāo)單擊,按鈕上有說明文字說明其作用。 切換按鈕 ToggleButton 當(dāng)單擊時(shí)會(huì)凹凸?fàn)顟B(tài)切換。 單選按鈕 RadioButton 當(dāng)單擊時(shí)會(huì)用黑白點(diǎn)切換,總是成組出現(xiàn),多個(gè)單選按鈕互斥,一組中只有一個(gè)被選中。 復(fù)選框 CheckBox 當(dāng)單擊時(shí)會(huì)用切換,有選中、不選中和不確定等狀態(tài),總是成組出現(xiàn),多個(gè)復(fù)選框可同時(shí)選用。 文本框 EditText 凹形方框,可隨意輸入和編輯單行和多行文字,并顯示出來。 靜態(tài)文本框 StaticText 用于顯示文字信息,但不接受輸入。 滾動(dòng)條 Slider 可以用圖示的方式顯示在一個(gè)范圍內(nèi)數(shù)值的大
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高職第一學(xué)年(農(nóng)村區(qū)域發(fā)展)農(nóng)村規(guī)劃綜合試題及答案
- 2025年高職地理教育(地理教學(xué)方法)試題及答案
- 2025年高職電子商務(wù)(商品拍攝)試題及答案
- 2026年新聞寫作(新聞稿撰寫規(guī)范)試題及答案
- 2025年大學(xué)第三學(xué)年(設(shè)計(jì)心理學(xué))設(shè)計(jì)應(yīng)用階段測(cè)試題及答案
- 2025年高職人力資源管理(人力資源教學(xué)案例分析)試題及答案
- 2025年大學(xué)水利工程與管理(水利技術(shù)推廣)試題及答案
- 2025年大學(xué)金屬制品加工技術(shù)(金屬表面處理)試題及答案
- 2025年大學(xué)大一(交通運(yùn)輸)交通工程學(xué)階段測(cè)試試題及答案
- 2025年高職動(dòng)漫設(shè)計(jì)與制作(動(dòng)漫設(shè)計(jì)與制作)試題及答案
- 校區(qū)打印店合作服務(wù) 投標(biāo)方案(技術(shù)方案)
- DL∕T 1781-2017 電力器材質(zhì)量監(jiān)督檢驗(yàn)技術(shù)規(guī)程
- 剪刀式升降車的安全管理
- 大學(xué)《思想道德與法治》期末考試復(fù)習(xí)題庫(kù)(含答案)
- JT-T 1037-2022 公路橋梁結(jié)構(gòu)監(jiān)測(cè)技術(shù)規(guī)范
- 綜合能源管理系統(tǒng)平臺(tái)方案設(shè)計(jì)及實(shí)施合集
- 學(xué)校宿舍樓施工組織設(shè)計(jì)方案
- GB/T 7216-2023灰鑄鐵金相檢驗(yàn)
- 學(xué)術(shù)論文的撰寫方法
- 上海市汽車維修結(jié)算工時(shí)定額(試行)
- 貴州省晴隆銻礦采礦權(quán)出讓收益評(píng)估報(bào)告
評(píng)論
0/150
提交評(píng)論