matlab的一些考點3matlab繪圖——二維曲線繪圖(一些座標系和統計圖)

一些座標系

一、極座標

在極座標下,利用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

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章