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

在这里插入图片描述

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