MATLAB程序设计入门篇
特殊图形
5-1长条图之绘制长条图(BarGraphs)特别适用于少量且离散的资料。欲画出垂直长条图,可用bar指令。范例5-1:bar01.m x=[13452]; bar(x);Fig.5-1
5-1长条图之绘制(cont.)bar指令也可接受矩阵输入,它会将同一横列的资料聚集在一起。barh指令则可画出水平的长条图。范例5-2:bar02.mx=[23457;12321];bar(x);Fig.5-2
5-1长条图之绘制(cont.)bar及barh指令还有一项特异功能,就是可以将同一横列的资料以堆栈(Stack)方式来显示。范例5-3:bar03.mx=[23457;12321];bar(x,stack)Fig.5-3
5-1长条图之绘制(cont.)除了平面长条图之外,MATLAB亦可使用bar3指令来画出立体长条图。范例5-4:bar04.m x=[23457;12321]; bar3(x)Fig.5-4
5-1长条图之绘制(cont.)bar3指令还可以使用群组(Group)方式来呈现长条图范例5-5:bar05.m x=[23457;12321]; bar3(x,group)Fig.5-5
5-1长条图之绘制(cont.)长条图的指令和类别:垂直长条图水平长条图平面barbarh立体bar3bar3h
5-1长条图之绘制(cont.)若要指定长条图的x坐标,可使用两个输入矢量给bar指令。假设新竹的月平均温度如下:范例5-6:bar06.mx=1:6; %月份 y=35*rand(1,6); %温度值(假设是介于0~35的随机数)bar(x,y); xlabel(月份); %x轴的说明文字ylabel(平均温度(^{o}c)); %y轴的说明文字%下列指令将x轴的数字改成月数set(gca,xticklabel,{一月,二月,三月,四月,五月,六月});
5-1长条图之绘制(cont.)Fig.5-6
5-2面积图之绘制面积图(AreaGraphs)和以堆栈方式呈现的长条图很类似,特别适用于具有叠加关系的资料。举例来说,若要显示清华大学在过去10年来的人数(含大学部,研究生,及教职员)变化情况,可用面积图显示。范例5-7:area01.m y=rand(10,3)*100; x=1:10; area(x,y); xlabel(Year); ylabel(Count)Fig.5-7
5-3扇形图之绘制使用pie指令,可画出平面扇形图(PieCharts),并可加上说明。范例5-8:pie01.m x=[2354]; label={东,南,西,北}; pie(x,label);Fig.5-8
5-3扇形图之绘制(cont.)若是x的元素总和小于1,pie指令直接将x每个元素视为面积百分比,因此可画出不完全的扇形图。范例5-9:pie02.m x=[0.21,0.14,0.38]; pie(x);Fig.5-9
5-3扇形图之绘制(cont.)pie指令还有一特异功能,可将某个或数个扇形图向外拖出,以强调部份资料。范例5-10:pie03.m x=[2354]; explode=[1100]; pie(x,explode);Fig.5-10其中指令explode中非零的元素即代表要向外拖出的扇形。
5-3扇形图之绘制(cont.)欲画出立体扇形图,可用pie3指令。范例5-11:pie301.m x=[2354]; explode=[1100]; label={春耕,夏耘,秋收,冬藏}; pie3(x,explode,label);Fig.5-11
5-4针头图之绘制顾名思义,针头图(StemPlots)就是以一个大头针来表示某一点资料,其指令为stem。范例5-12:stem01.m t=0:0.2:4*pi; y=cos(t).*exp(-t/5); stem(t,y)Fig.5-12
5-4针头图之绘制(cont.)针头图特别适用于表示「数位讯号处理」(DSP,DigitalSignalProcessing)中的数位讯号。若要画出实心的针头图,可加“fill”选项。范例5-13:stem02.m t=0