当前位置:文档之家› matlab绘图指令

matlab绘图指令


1.基本绘图函数
函数名功能描述
Plot绘制二维线性图形及两个坐标轴
Plot3绘制三维图形及三个坐标轴
Loglog绘制对数图形及两个坐标轴(两个轴都为对数坐标)
Semilogx半对数坐标图形(X维对数坐标,Y维线性坐标)
Semilogy半对数坐标(与上面相反)

如:plot(y);%y为矢量,x将为索引值绘制图像,y为m×n矩阵X为索引号1:m,绘制n各图形
plot(x,y);
plot(x,sin(x),x,sin(x+1),x,cos(x+2));
plot(t,y,’-‘,t,y2,’—‘,t,y3,’.’);
2.基本函数颜色设置与点的形状
基本函数颜色设置:y:黄色;g绿色;b蓝色;m红紫色;c兰绿色;w白色;r红色;k黑色
基本绘图函数的点形状:+加号形状;o空心园状;*星号;.实心小元点;x叉号;s方形;d菱形;^向上箭头;v向下箭头;>向右箭头;<向左箭头;p五角星形;h六角星形。
如:plot(t,sin(t),’-r*’);%实线,红色,星形点
3.绘制三维图形
plot3(x,y,z);%如果三个为矢量,将绘制三维曲线上点构成的曲线,如果为矩阵,绘图数据将从三个矩阵中的各列中读取,组成三维坐标,进行图形输出。
4.设置坐标轴参数
(1)axis,设置当前轴的坐标范围;
(2)axes,用指定的特征创建一个新坐标轴;
(3)get和set,查询或设置已有轴的各种特性;
(4)gca,返回当前轴的句柄。
如果图形中有多个坐标轴,在当前轴为最后图形创建的图形的坐标轴。Matlab绘制图形数据时候,会自动选择坐标轴范围,用axis可以设置新的坐标轴的范围,用一个具有四个元素的矢量表示坐标范围,格式为:
axis([xmin,xmax,ymin,ymax]);如果不指定某一个方向范围可以使用inf或-inf表示,则产生半自动坐标轴范围。
对于线性坐标轴,matlab会自动根据数据范围设置等间距的坐标轴数值标记,用set,修改gca变量中xtick和ytick的属性值,可以自定义坐标轴标记。如
set(gca,’ytick’,[-0.3:0.1:1]);
可以使用字符矢量通过修改gca变量中的’XtickLabel’实现标记字符,如:
set(gca,’Xtick’,-pii/2i);
set(gca,’XtickLabel’,{‘-pi’,’-pi/2’,’0’,’pi/2’,’pi’};
Axis square设置两坐标轴长度成相等。
Axis equel设置坐标轴标记间距相等;
Axis equel tight;设置图形以紧缩方式显示。
5.图形窗口
figure(2);%以第二个图形窗口作为当前图形输出的窗口;
subplot(m,n,i);%分成m×n个小区域,I指定当前绘图区域;
colordef 颜色;%如white,black等,设置绘图背景颜色。
6.图形标注
Matlab提供了几个函数用于图形的标注:
函数名功能描述
Title添加图形标题
Xlabel,xlabel,zlabel添加X,Y,Z轴标注
Legend在图形中添加图例
Text在指定位置显示文本
Gtext使用鼠标将指定文本放在图形中的位


如下为添加标题,坐标轴标注实例:
>> t=0i/100i*2;
>> plot(t,sin(t));
>> xlabel('t=0 to 2\pi','Fontsize',16);
>> ylabel('sin(t)','fontsize',16);
>> title('Value of the Sine from Zero to Two \pi','fontsize',16)
注:标注时:\pi显示成希腊字母,\alpha,\beta。
在图形中添加标注与图例,如下:
>> t=0i/100i*2;
>> plot(t,sin(t));
>> xlabel('t=0 to 2\pi','Fontsize',16);
>> ylabel('sin(t)','fontsize',16);
>> title('Value of the Sine from Zero to Two \pi','fontsize',16)
>> text(3*pi/4,sin(3*pi/4),'\leftarrow=.707','fontsize',16)
>> text(pi,sin(pi),'\leftarrowsin(t)=0','fontsize',16)
>> text(5*pi/4,sin(5*pi/4),'sin(t)=-.707\rightarrow','HorizontalAlignment','right','fontsize',16)
>> gtext('graph of function sin(x)') %可以用鼠标指定字符串所需放设位置。
>> H=legend('con','sin',0) %绘制图例

7.专业图形
条形图和区域图用于显示矢量与矩阵中的数据,条形图用于显示离散数据,区域图用于显示连续性数据。
Bar绘制垂直条形图,bar3绘制三维垂直条形图;barh,bar3h绘制水平条形图;如果以矩阵作为参数,矩阵为m×n,则绘制m组条形图,每组n个垂直条形图。
如bar3(p,’group’);group参数分组显示,depatch参数,stack参数等,可以不要参数默认方式显示。
使用area函数可以根据矢量或矩阵的各列生成一个区域图。先根据矩阵各列中的元素绘制曲线,然后填充曲线下方与X轴上方的区域。
Pie,pie3绘制二维,三维饼图
Hist绘制柱形图
X=Randn(m,n)产生n维m个随机矢量。
Rose显示柱形图的极坐标形式。
8,绘制离散型数据的图形
stem,stem3绘制枝干图,三维枝干图,stairs梯形图。其使用方法与plot基本相似。
>> x=linspace(0,2*pi,60);%创建线性间距的矢量
>> A=sin(x);
>> B=cos(x);
>> stem_handles=stem(x,a+b);
>> stem_handles=stem(x,A+B);
>> hold on;
>> plot_handles=plot(x,A'--r',x,b,'--g');
>> plot_handles=plot(x,A,'--r',x,b,'--g');
>> plot_handles=plot(x,A,'--r',x,B,'--g');
>> legend_handles=[stem_handles(1);plot_handles];%根据句柄设置图例样式
>> legend(legend_handles,'A+B','A=sin(x)','B=cos(x)');
>> xlabel('Time in \musecs');
>> ylabel('Magnitude');
>> hold off

8.绘制速度与方向图形
compass可以将矢量以极坐标的形式显示维从极点发散的图形,输入参数维直角坐标形式,绘制图形维极坐标形式。函数feather沿水平线上等间距显示矢量,quiver,quiver3分别用于绘制二维矢量组(U,V)和三维矢量组(u,v,w)。
例1:>> win=[45 90 90 60 30 335 360 270 335 200 335 335];
>> strength=[7 6 8 10 3 9 6 8 9 10 14 12];
>> rdir=win*pi/180;%将角度转换维弧度
>> [x,y]=pol2cart(rdir,strength);%将极坐标转换成直角坐标
>> compass(x,y)
例2:如果输入参数是一个复矢量,则feather自动将复矢量实部作为x轴方向分量,

虚部作为y轴分量。
>> t=0:0.5:13;
>> s=0.025+i;
>> Z=exp(-s*t);%求复矢量Z
>> feather(Z)
函数contour,contour3用于创建二维,三维等高线,contourf用于创建二维等高线并填充颜色,contourc用于计算创建等高线的矩阵,函数clabel用于创建等高线的标注。
Contour(Z),Z为一个矩阵,表示相对于XY平面的高度。
Contour(Z,n),根据矩阵Z绘制n组等高线。
Contour(Z,v),根据矢量v指定的等高线,等高线组数为length(v)。
Contour(X,Y,Z), Contour(X,Y,Z,n), Contour(X,Y,Z,v),其中X,Y表示两个坐标范围。如果为矩阵,则必须与矩阵Z大小相同,此时juzhZ一般为用函数surf创建的面。
[c,h]=contour(…),返回等高线矩阵C和图形对象的句柄h。
例:>> [x,y]=meshgrid(-8:0.5:8);%创建网格数据
>> z=0.25*y.^2-0.5*x.^2;
>> subplot(1,2,1);%上面定义双曲抛物面,创建选择第一个图形子区域
>> surf(z);%绘制双曲抛物面图形
>> view(65,45);%设置视角
>> title('双曲抛物面');
>> subplot(1,2,2);
>> contour(x,y,z,10);%绘制数据组的1100组等高线
>> axis equal;
>> title('双曲抛物面的等高线')

函数clael用于标注等高线,绘制时可以输出图形句柄,然后以图形句柄作为函数clabel参数来标注途中的各条等高线。
例:>> [x,y]=meshgrid(-2:.2:2,-2:.2:3);
>> z=x.*exp(-x.^2-y.*2);
>> [c,h]=contour(x,y,z);
>> clabel(c,h);
>> colormap cool


相关主题
文本预览
相关文档 最新文档