Matlab学习笔记 Day13
注:仅供学习使用,部分内容来自学校课程课件或网络,理性探讨。
特殊二维图形的绘制(specgraph函数库)
1.条形图
bar(x,width,style)(纵向)
barh(x,width,style)(横向)
当x是m × n阶的矩阵时,绘制的条形图以分组或堆积的形式表现。矩阵中每一行元素绘制在一组中,每一列元素绘制在每组中相对应的位置上。其中,width设置条形的相对宽度和控制在一组内条形的间距,默认值为0.8,style指定条形的排列模式,类型有’group’(分组)和 ‘stack’(堆积),默认时采用’group’模式。
图例:纵向group图和横向stack图
样例代码参考:
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()更改绘制色系,使图形的绘制色彩更加丰富,视觉效果更加良好。