Matlab學習筆記 Day13
注:僅供學習使用,部分内容來自學校課程課件或網絡,理性探讨。
特殊二維圖形的繪制(specgraph函數庫)
1.條形圖
bar(x,width,style)(縱向)
barh(x,width,style)(橫向)
當x是m × n階的矩陣時,繪制的條形圖以分組或堆積的形式表現。矩陣中每一行元素繪制在一組中,每一列元素繪制在每組中相對應的位置上。其中,width設定條形的相對寬度和控制在一組内條形的間距,預設值為0.8,style指定條形的排列模式,類型有’group’(分組)和 ‘stack’(堆積),預設時采用’group’模式。
圖例:縱向group圖和橫向stack圖
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHLykkaNlXTU5UMRpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLxYjMzIDOyUTMyIzMwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
樣例代碼參考:
x=[51,82,34,47;67,78,68,90;78,85,65,50]';
subplot(1,2,1); bar(x,'group');
title('Group'); axis([0,5,0,100]);
subplot(1,2,2); barh(x, 'stack'); title('Stack');
2.餅圖
pie(x,explode)
x可以是向量或者矩陣。explode是與x同等大小的向量或矩陣,與explode對應的非零值将從餅圖中心分離出來,預設時,餅圖為整體。
圖例:
樣例代碼參考:
x=[51,82,34,47;67,78,68,90;78,85,65,50]';
pie(x(:,1),[0,0,0,1]);title('餅圖');
legend('A','B','C','D');
3.散點圖
scatter(x,y,s,c,‘filled’)
其中,x、y、s和c為同等大小的向量。x和y用于定位資料點;s指定繪圖點的大小(以象素為機關),s也可以是一個标量,則所有資料點同等大小;c指定繪圖所使用的色彩,c也可以是一個标量,所有資料點使用同一種顔色;'filled’表示填充繪圖點,預設時,資料點是空心的。
4.誤差條形圖
errorbar(x,y,e,s)
繪制資料點(x(i),y(i))的誤差條形圖。誤差條對稱地分布在yi的上方和下方,長度為ei。
errorbar(x,y,l,u,s)
功能:繪制資料點(x(i),y(i))的誤差條形圖。誤差條分布在yi上方的長度為ui,下方的長度為li。字元串s設定顔色和線型。
圖例:
5.離散杆狀圖
stem (Y) 或 stem (X,Y) 或 stem(X,Y,‘filled’)
繪制資料點X(i),Y(i)的離散杆狀圖
圖例:
6.階梯狀圖
stairs(Y) 或 stairs(X, Y) 或 stairs(X,Y,Style)
繪制資料點X(i),Y(i)的階梯狀圖,Style指定繪圖方式(顔色、線型、點形)。
圖例:
7.面域圖
area(Y)或area(X,Y)
圖例:
參考代碼:
x=0:pi/20:2*pi; y=sin(x); area(x,y)
axis([0 2*pi -1.2 1.2])
title('area')
8.填充圖
fill(x1,y1,選項1,x2,y2,選項2,…)
fill函數按向量元素下标漸增次序依次用直線段連接配接x、y對應元素定義的資料點。假若這樣連接配接所得折線不封閉,那麼MATLAB将自動把該折線的首尾連接配接起來,構成封閉多邊形,然後将多邊形内部塗滿指定的顔色。
9.複數向量圖
compass(z)或compass(u,v):羅盤圖
featuher(z)或faether(u,v):羽毛圖
其中,z為複數向量,u、v分别為複數向量的實部和虛部
參考代碼:
theta = (-120:10:60)*pi/180;
r = 2*ones(size(theta));
[u,v] = pol2cart(theta,r);
subplot(1,2,1);compass(u,v,'r');title('compass');
subplot(1,2,2);feather(u,v,'b'); title('feather')
圖例:
10.彗星圖
comet(x,y)
繪制資料點x(i),y(i)的彗星軌迹圖。
圖例:
代碼參考樣例:
t=-pi:pi/1000:pi;
comet(t, tan(sin(t))-sin(tan(t)))
title('comet')
注意:MATLAB中圖形的顔色可以使用colormap()更改繪制色系,使圖形的繪制色彩更加豐富,視覺效果更加良好。