MATLAB圖形對象包括:
MATLAB每一個(gè)具體圖形一定包括計算機屏幕和圖形窗口兩個(gè)對象。
1、定義
MATLAB在創(chuàng )建每一個(gè)圖形對象時(shí),都會(huì )給該對象分配一個(gè)唯一確定的值,稱(chēng)其為圖形對象句柄。
PS:(1)計算機屏幕句柄默認為0。
(2)圖形窗口對象的句柄值為一正整數,并顯示在窗口標題欄中。
(3)其他圖形對象的句柄為浮點(diǎn)數。
2、獲取已有對象的句柄
3、一個(gè)demo
- close all;clear all;clc;
- %% 圖形對象及其句柄
- x1=linspace(0,2*pi,30);%首尾為0和2*pi,中間有30個(gè)數
- y1=sin(x1);
- h0=plot(x1,y1,'r'); %曲線(xiàn)對象的句柄
- h1=gcf;%圖形對象的句柄
- h2=gca;%坐標軸句柄
- h3=findobj(gca,'Marker','x');%坐標軸上曲線(xiàn)的句柄,Marker表示標記點(diǎn)的形狀
運行結果如下:
(1)調用格式:
- set(句柄,屬性名1,屬性值1,屬性名2,屬性值2,……)
- %其中句柄指明要操作的對象
- %set中的屬性可以全部缺省
(2)一個(gè)demo:- x=0:pi/10:2*pi;
- h=plot(x,sin(x));
- set(h,'Color','b','LineStyle',':','Marker','p');
- V=get(句柄,屬性名)
- %V是返回的屬性值
- %如果省略屬性名,則返回句柄的所有屬性值。
(2)一個(gè)demo:- x=linspace(0.2*pi,20);
- y=sin(x);
- h=plot(x,y);
- col=get(h,'Color'); %得到曲線(xiàn)的顏色
- V=get(0,'ScreenSize'); %得到當前窗口的平屏幕分辨率
三、對象的公共屬性- close all;clear all;clc;
- %% 圖形對象屬性
- x2=0:pi/50:2*pi;
- y2=sin(x2);
- z2=cos(x2);
- plot(x2,y2,'r',x2,z2,'g');
- h2=get(gca,'Children');%獲取所有曲線(xiàn)句柄向量h2
- for k=1:size(h2)
- if get(h2(k),'Color')==[0 1 0] %【0,1,0】表示綠色
- h2g=h2(k);
- end
- end
- pause;
- set(h2g,'LineStyle',':','Marker','p');%對綠色線(xiàn)條進(jìn)行設置
(三)圖形對象測創(chuàng )建
一、圖形窗口對象
1、定義
圖形窗口是MATLAB中很重要的一類(lèi)圖形對象,MATLAB的一切圖形圖像的輸出都是在圖形窗口中完成的。
2、調用格式:
- 句柄變量=figure(屬性名1,屬性值1,屬性名2,屬性值2);
- %屬性名和屬性值可以缺省,則命令如下
- 句柄變量=figure 或者 figure
- figure(窗口句柄) %設置為當前窗口。
- %如果窗口句柄寫(xiě)成一個(gè)整數,則可以使用這個(gè)句柄生成一個(gè)新的圖形窗口,并定義為當前窗口。
- close(窗口句柄) %關(guān)閉圖形窗口
- close all; %關(guān)閉全部圖形窗口
- clf; %清除當前圖形窗口的內容,但不關(guān)閉窗口。
3、圖形窗口對象的常用屬性(除了公共屬性) 取值是figure(缺省值)或none,用來(lái)控制窗口是否有菜單條。
如果屬性為none,那么用戶(hù)可以使用uimenu函數來(lái)加入自己的菜單條。
如果屬性為figure,那么窗口保持默認的菜單條,這時(shí)可以采用uimenu函數在原默認的圖形窗口菜單后面添加新的菜單項。
(2)Name屬性
取值是字符串,缺省值為空,作為圖形串口的標題
(3)NumberTitle屬性:
取值是on(缺省值)或者off。決定是否以“Figure No.n:“為標題前綴,這里n是圖形窗口的序號,即句柄值。
(4)Resize屬性:
取值為on(缺省值)或off。決定在窗口對象建立后可否用鼠標改變該窗口的大小
(5)Position屬性
(6)Units屬性:
該屬性的取值可以是下列字符串的任何一種:
pixel(像素,缺省值),normalized(相對單位),inches(英寸),centimeters(厘米)和points(磅)。
(7)Color屬性:
取值可以用字符表示,也可以用三元組表示。缺省值為’k’即黑色。
(8)Pointer屬性:
取值是arrow(缺省值)、crosshair、watch、topl、topr、botl、botr、circle、cross、fleur、custom等。
(9)對鍵盤(pán)及鼠標響應屬性:
允許對鍵盤(pán)和鼠標鍵按下這樣的動(dòng)作進(jìn)行響應。
KeyPressFcn 鍵盤(pán)鍵按下響應WindowButtonDownFcn 鼠標鍵按下響應WindowButtonMotionFcn 鼠標盈動(dòng)響應WindowButtonUpFcn 鼠標鍵釋放響應4、一個(gè)demo:- x1=linspace(0,2*pi,60);
- y1=sin(x1);
- %KeyPressFcn鍵盤(pán)鍵按下響應
- h1=figure('Color',[0,1,0],'Position',[1,1,450,250],'Name','Fuck','NumberTitle','off','MenuBar','none','KeyPressFcn','plot(x,y);axis([0,2*pi,-1,1]);');

二、坐標軸對象
1、概念
坐標軸對象是圖形窗口對象的子對象,每個(gè)圖形窗口中可以定義多個(gè)坐標軸對象,但只有一個(gè)坐標軸是當前坐標軸,在沒(méi)有指明坐標軸,所有的圖形圖像都是在當前坐標軸中輸出。
2、調用格式:
句柄變量=axes(屬性名1,屬性值1,屬性名2,屬性值2,……);%調用axes函數用制動(dòng)的屬性在當前圖形窗口創(chuàng )建坐標軸,并將句柄賦給句柄變量。axes 或 句柄變量=axes%用axes函數建立缺省坐標軸axes(坐標軸句柄)%調用axes函數將之設定為當前坐標軸,且坐標軸所在的圖形窗口自動(dòng)成為當前圖形窗口。3、坐標軸的常用屬性(除了公共屬性)demo:
- ans=get(gca,'Title');
- set(ans,'Color','r');
(6)XLabel、YLabel、ZLabel屬性:- ans=get(gca,'XLabel');
- set(ans,'String','Values of X axis');
(7)XLim、YLim、ZLim屬性:4、一個(gè)demo:
- x2=linspace(0,2*pi,20);
- y2=sin(x2);
- figure;
- %axes函數可以在同一個(gè)圖形窗口上建立多個(gè)坐標軸(同時(shí)顯示)
- axes('Position',[0.2,0.2,0.2,0.7],'GridLineStyle','-.');%該屬性是由四個(gè)元素構成的向量,其形式為[n1,n2,n3,n4]。這個(gè)向量在圖形窗口中決定一個(gè)矩形區域,坐標軸在其中。
- plot(y2,x2);
- grid on;
- axes('Position',[0.4,0.2,0.5,0.5]);
- t=0:pi/100:20*pi;
- x2=sin(t);
- y2=cos(t);
- z2=t.*sin(t).*cos(t);
- plot3(x2,y2,z2);
- axes('Position',[0.55,0.6,0.25,0.3]);
- [x2,y2]=meshgrid(-8:0.5:8);
- z2=sin(sqrt(x2.^2+y2.^2))./sqrt(x2.^2+y2.^2+eps);
- mesh(x2,y2,z2);

三、曲線(xiàn)對象
1、定義
曲線(xiàn)對象是坐標軸的子對象,它既可以定義二維坐標系中,也可以定義在三維坐標系中
2、MATLAB調用:
- 句柄變量=line(x,y,z,屬性名1,屬性值1,屬性名2,屬性值2,……);
- %x,y,z為三維坐標
3、曲線(xiàn)對象的常用屬性(除了公共屬性)- t3=0:pi/20:2*pi;
- y3=sin(t3);
- y31=cos(t3);
- f3=figure('Position',[30,100,800,350]);
- axes('GridLineStyle','-.','XLim',[0,2*pi],'YLim',[-1,1]);%取值都是具有2個(gè)元素的數值向量,3個(gè)屬性分別定義個(gè)坐標軸的上下限,缺省為[0,1]。
- line('XData',t3,'YData',y3,'LineWidth',2);%XData,YData取值都是數值向量或矩陣,分別代表曲線(xiàn)對象的3個(gè)坐標軸數據,LineWidth定義線(xiàn)寬。
- line(t3,y31);
- grid on;

四、文字對象
1、用處:
主要用于給圖形添加文字標注,可以使用LaTeX文本。
2、MATLAB調用:
- 句柄變量=text(x,y,z,'說(shuō)明文字',屬性名1,屬性值1,屬性名2,屬性值2,……);
- %說(shuō)明文字可以使用LaTeX控制字符
3、文字對象的其他常用屬性如下:- x4=-pi:0.1:pi;
- y41=sin(x4);
- y42=cos(x4);
- figure;
- h4=line(x4,y41,'LineStyle',':','Color','g');
- line(x4,y42,'LineStyle','--','Color','b');
- xlabel('-\pi \leq \Theta \leq \pi');
- ylabel('sin(\Theta)');
- title('Plot of sin(\Theta)');
- text(-pi/4,sin(-pi/4),'\leftarrow sin(-\pi\div4)','FontSize',12);
- set(h4,'Color','r','LineWidth',2);

五、曲面對象
1、概念:
曲面對象也是坐標軸的子對象,它定義在三維坐標系中,而坐標系可以在任何視點(diǎn)下。
2、調用格式:
句柄變量=surface(x,y,z,屬性名1,屬性值1,屬性名2,屬性2,……);3、曲面對象的屬性:- x5=linspace(0,4*pi,100);
- figure;
- [x5,y5]=meshgrid(x5);
- z5=sin(x5);
- axes('view',[-37.5,30]);
- h5=surface(x5,y5,z5,'FaceColor','w','EdgeColor','flat');
- grid on;
- set(get(gca,'XLabel'),'String','X-axis'); %設置x軸說(shuō)明
- set(get(gca,'YLabel'),'String','Y-axis'); %設置y軸說(shuō)明
- set(get(gca,'ZLabel'),'String','Z-axis'); %設置z軸說(shuō)明
- title('mesh-surf');
- set(h5,'FaceColor','interp','EdgeColor','interp');


轉自:http://www.cnblogs.com/BlueMountain-HaggenDazs/p/4306865.html
聯(lián)系客服