MATLAB 学习笔记(六)——数据可视化
⽂章⽬录
7.1 ⼆维图形
顾志能7.1.1 直⾓坐标系绘图
1.plot()函数
(1)包含两个输⼊参数的plot()函数基本运⽤格式:plot(X,Y):
一年级下册音乐教学计划a.当X,Y都是实数向量时,它们必须都为同为向量。
绘制参数⽅⾯时:
{x =costy =sint b.若plot的参数都是复数向量,则X,Y的虚部都会被忽略。c.若X,Y为实数矩阵,它们必须为同型矩阵。(2)仅包含⼀个输⼊参数的plot()函数
若Y为实数向量,则plot(Y)以Y的下标为横坐标,以Y为纵坐标
若Y为实数矩阵,设Y的列数为M,则plot(Y)等价于plot(Y(:,k)),k=1,2,3…M 若Y为复数向量,Y的实部为横坐标,虚部为纵坐标若Y为复数矩阵,每列的实部为横坐标,虚部为纵坐标(3)含多个输⼊参数的plot()函数输⼊多个参数时,必须要按照成对输⼊参数
2.plotyy()函数
如果需要需要在同⼀个坐标系下绘制两个具有不同纵坐标标度的图形,可以使⽤plotxy()函数。调⽤形式:plotyy(X1,Y2,X2,Y2)
X = 0:pi/100:2*pi;Y = cos(X)+sin(X);plot(X,Y);
123
t=0:pi/100:2*pi;X=cos(t);Y=2*sin(t);plot(X,Y)
12345
例:需要绘制下列两个函数,且使⽤不同的纵坐标刻度
注意,由于兼容性问题,2016版本后便不推荐使⽤,推荐yyaxis
3.对函数⾃适应采样的绘图函数fplot()
fplot()可以根据函数在绘图区间内的变化进⾏⾃适应采样的绘图函数。调⽤形式:fplot(function_name,[tol],[n])例题:⽤fplot函数绘制f(x)=sin(tan(x))的图像:
4.含选项的绘图软件
MATLAB运⾏绘图函数包含⼀些绘图选项,这些选项可⽤于设定所绘曲线的线条类型,画线⽤的颜⾊和数据点标记符号等等(1)线型选项
选项-–:-,线型
实线
双划线
虚线
点划线
(2)颜⾊选项
选项r g b c 颜⾊红⾊绿⾊蓝⾊青⾊选项m y k w 颜⾊
品红⾊
黄⾊
⿊⾊
⽩⾊
(3)标记符号选项
选项+o *.x 标记符号加号⼩圆圈星号实点交叉号选项d ^v ><;标记符号棱形向上三⾓形
向下三⾓形
向右三⾓形
向左三⾓形
选项s h P 标记符号
胳膊用英语怎么读正⽅形
正六⾓星
正五⾓星
调⽤形式:plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)
例题:⽤不同的线型和颜⾊在同⼀坐标内绘制曲线y=5*exp(-x).cos(10x)及其包络线
y =e −x y =cosx
clear;clc;
t=0:0.01:2*pi;y1=exp(-t);y2=cos(t);plotyy(t,y1,t,y2)
123456
fun=@(x)sin(tan(x));fplot(fun,[1,2],1e-4)
12
同样的⽤法也可以⽤在fplot⽅程⾥。
7.1.2 其他坐标系绘图
1.极坐标绘图
在极坐标系中绘图可以采⽤polar命令,该命令接受极坐标形式的函数.pplar(theta,rho,选项)
例题:在极坐标系下绘制极坐标⽅程的曲线2.对数坐标系绘图
⽆论是直⾓坐标系还是极坐标系,坐标轴都是线性刻度。在很多⼯程应⽤⾥,数据呈指数型变化规律,这时如果再⽤线型刻度来描述曲线。(1)milogx函数
milogx函数在x轴上常采⽤对数坐标(以10为底)⽽y轴采⽤线性坐标,该函数的调⽤形式和plot基本相同。例题:绘制y=lgx的x轴半对数坐标图,并与直⾓坐标图进⾏对⽐。(2)milogy函数
milogy函数在绘图时y轴采⽤常⽤对数坐标(以10为底),⽽x轴采⽤线性坐标。该函数的调⽤形式与milogx函数完全相同(3)loglog函数
loglog()函数在调⽤时,x轴,y轴上都采⽤常⽤对数坐标。调⽤格式与milogx函数完全相同
7.1.3 ⼆维特殊图形绘制函数
函数名说明函数名说明area 填充绘图hist 直⽅图bar 柱状图pie 饼图barh ⽔平柱状图scatter 散射图feather
⽮量图
stem
杆状图
x=0:pi/100:4;
y1=5*exp(-x).*cos(10*x);y2=[1;-1]*5*exp(-x);x1=(0:12)*pi/10;
y3=5*exp(-x1).*cos(10*x1);plot(x,y1,'r-',x,y2,'b:',x1,y3,'ko');
123456
ρ=sinθcosθ
theta=0:0.01:2*pi;rho=sin(theta).*cos(theta);polar(theta,rho,'r')
123
clear;clc;x=0:0.1:5;y=log10(x);
男人恋爱时subplot(1,2,1);%图形窗⼝分割plot(x,y,'b');title('plot 绘图');subplot(1,2,2);milogx(x,y,'r');title('milogx 绘图');
五一黄金周
12345678910
fill 多边形填充staris 阶梯图compass ⽮量图ro 极坐标系柱状图
函数名说明函数名说明
1.bar 函数
(1)bar(y):
若y是向量,则该函数为y中每⼀个元素画⼀个长柱,长柱的⾼度即为元素值⼤⼩,横坐标是向量元素的下标。(2)bar(x,y,style),style为两种模式。即group与stack模式。
注意,如果需要绘制⽔平函数图,可以使⽤函数barh,调⽤⽅式与bar()相同。
2.hist 函数
hist可以绘制⼆维柱状直⽅图,⽤来显⽰数据的分布情况。调⽤⽅式:(1)hist(y,m):参数m为标量,未指定时默认为10
(2)hist(y,x):参数x为向量。hist函数划分区间时以x的每个元素值为区间中⼼点,区间的个数为x的长度。应⽤⽰例:同时,利⽤ro函数可以绘制极坐标系下的直⽅图。
3.pie 函数
pie函数可以绘制⼆维饼状图
(1)pie(x):pie函数使⽤x中的数据绘制饼图。
(2)pie(x,explode):参数explode与x具有相同的维度,但与explode的⾮零值对应的部分会从饼状图中分离出来。饼状图⽰例:黛玉葬花读后感
x=[-1,1,3];y=[1,1.5;2,1;3,5];
subplot(1,2,1);%窗⼝图形分割bar(x,y);%直⽅图绘图title('group 模式');subplot(1,2,2)bar(x,y,'stacked')title('stack 模式')
12345678
clear;clc;x=-5:0.1:5;y=randn(500,1);subplot(1,2,1);hist(y)title('hist(y)');subplot(1,2,2);hist(y,x);title('hist(y,x)');
12345678910
4.fill 函数
fill函数可以绘制多边形填充图,起点与终点连成多边形。(1)fill(x,y,color):fill函数⽤线段依次连接x,y对应的数据点。(2)fill(x1,y1,color,x2,y2…)根据x1-y1,x2-y2绘制多边形一轮明月挂中天
5.stairs 函数
stairs函数可以绘制阶梯状图形,调⽤格式如下:
(1)stairs(x,y,选项):x为横坐标,y为纵坐标,⽤阶梯式连接各点(2)stairs(x):x的下标为横坐标,x的值为纵坐标。
复照6.stem 函数
stem函数可以绘制⽕柴杆状的图形
(1)stem(x,y,选项,‘filled’):stem函数⽤⽕柴杆表⽰以x轴为横坐标,y为纵坐标的各个数据点。(2)stem(x):x的下标为横坐标,x值为纵坐标描述函数。x为矩阵时,含义与plot函数⼀样。
(1)compass(x,y,选项):campass函数⽤箭头表⽰向量x和y对应元素表⽰的⽮量(2)compass(z)
x1=[0.1,0.3,0.5];x2=[0.1,0.3,0.5,0.6];x3=[1 2 5 6 4];
x4=[1 2 5 6 4;3 7 9 2 3];explode=[0 0 1 1 0];subplot(2,2,1);pie(x1)title('x1')subplot(2,2,2);pie(x2)title('x2')subplot(2,2,3);pie(x3,explode);title('x3');subplot(2,2,4);pie(x4);title('x4');
1234567891011121314151617
x=[1 2 3 4 7];y=[3 7 6 7 4];fill(x,y,'g');
123
x=0:0.1:5;m=[1,2,3,4];y=exp(-x);subplot(1,2,1);stairs(x,y,'r');subplot(1,2,2);stairs(m);
1234567