一些座標系和統計圖
一些座標系
一、極座標
在極座標下,利用polar函數繪製曲線。
- polar(theta, rho) :在極座標系中,以角度theta和半徑rho進行繪圖。
- polar(theta, rho, s):在極座標系中,以線形s繪製角度爲theta和半徑爲rho曲線。
%設定角度
theta=0:100;%邊數,邊數越大越密
%設定對應角度的半徑
rho=ones(1,length(theta));
%繪圖
figure
polar(theta,rho)
% 角度
t = 0:.01:2*pi;
%設定對應角度的半徑
r = 3.*t;
% 繪圖
figure
polar(t, r, '--r')
二、對數座標
反映信號的幅頻特性和相頻特性
semilogx(x1,y1,選項1,x2,y2,選項2……)
半對數座標,x軸爲常用對數刻度,而y軸仍保持線性刻度。
semilogy(x1,y1,選項1,x2,y2,選項2……)
半對數座標,y軸爲常用對數刻度,而x軸仍保持線性刻度。
loglog(x1,y1,選項1,x2,y2,選項2……)
全對數座標,x,y均使用對數刻度。
x=0:0.1:10;
y=1./x;
subplot(2,2,1);%將窗口分成4個子窗口,使用第一個
plot(x,y);
title('plot(x,y)')
grid on
subplot(2,2,2);%將窗口分成4個子窗口使用第二個
semilogx(x,y);
title('semilogx(x,y')
grid on
subplot(2,2,3);%將窗口分成4個子窗口,使用第三個
semilogy(x,y);
title('semilogy(x,y)')
grid on
subplot(2,2,4);%將窗口分成4個子窗口,使用第四個
loglog(x,y);
title('loglog(x,y)')
grid on
觀察圖形,可知四種座標系的不同。
統計圖
1.條形類圖型
條形圖
- bar函數:繪製二維垂直條形圖
- barh函數:繪製二維水平條形圖
兩者的調用格式相同,以bar爲例 - bar(y,style)
y:數據
style:用來指定分組排列模式:簇狀分組(默認):grouped,堆積分組:stacked - bar(x,y,style)
x存儲橫座標,y存儲數據(是一個矩陣)
用四種方法繪製圖形,解決該問題
x=[2015,2016,2017];
y=[68 80 115 98 102;75 88 102 99 110;81 82 125 105 115];
subplot(2,2,1)
bar(x,y,'group');
title('bar-group');
grid on
subplot(2,2,2)
bar(x,y,'stacked');
title('bar-stacked');
grid on
subplot(2,2,3)
barh(x,y,'group');
title('barh-group');
grid on
subplot(2,2,4)
barh(x,y,'stacked');
title('barh-stacked');
grid on
直方圖
hist函數
- hist(y)
- hist(y,x)
y是要統計的數據
x用於指定區間劃分方式(默認按10個等分區間統計):若是標量則被均分成x個小區間;若爲向量則向量中的每個值指定均分區間的中心值。
rose函數
rose(theta,x)theta用於確定每一個區間與原點的角度(將圓劃分爲角度相同的扇形區域),選項x用於指定區間的劃分方式(缺省時默認均分20個區域)
y=randn(500,1);
subplot(3,1,1);
hist(y);
title('高斯分佈直方圖');
subplot(3,1,2);
x=-3:0.2:3;
hist(y,x);
title('指定區間中心點的直方圖');
grid on
subplot(3,1,3);
theta=y*pi;
rose(theta);
title('極座標下的直方圖');
grid on
2.面積類型圖
扇形圖(餅圖)pie函數
反應組數據中每一分量在總數據中佔比
- pie(x,explode)
x存儲待統計數據,explode控制圖塊顯示模式(與x大小相同,非0部分將從餅圖中分離出來)
score=[5 17 23 9 4];%優秀、良好、中等、及格、不及格
ex=[0 0 0 0 1];
pie(score,ex);
legend('優秀','良好','中等','及格','不及格')
面積圖area函數
反應多個數據系列累計變化趨勢
score=[1 2 3;4 5 6];
area(score);
legend('變化')
grid on
用數據遊標可顯示具體某點的橫縱座標。
3.散點類圖形
scatter函數:繪製散點圖
stairs函數:繪製階梯圖
stem函數:繪製杆圖
- 這三個函數與plot差不多,下面以scatter爲例
scatter(x,y,選項,‘filled’)
x,y一般爲兩個同等大小的向量,用來定位數據點
如果圖形爲封閉的,那麼可以指定filled來填充
4.矢量類圖形
和plot函數基本相同
compass函數:繪製羅盤圖
feather函數:羽毛圖
quiver函數:箭頭圖
(常繪製矢量場,箭頭方向代表矢量方向,長短表示矢量大小)
- quiver(x,y,u,v):(x,y)指定矢量起點,(u,v)指定矢量終點
A=[4 5];
B=[-10,0];
C=A+B;
hold on
quiver(0,0,A(1),A(2));
quiver(0,0,B(1),B(2));
quiver(0,0,C(1),C(2));
gtext('A');
gtext('B');
gtext('C');
axis([-12,6,-1,6]);
grid on