概述
1、固定坐标轴
1.1 axis函数
axis([xmin xmax ymin ymax zmin zmax])
如果只给出前4个参数,则MATLAB按照给出的x,y的最小值和最大值选择坐标系的范围,以便绘制二维曲线。如果给出全部参数,则系统按照给出的3个坐标轴的最小值和最大值选择坐标系的范围,以便绘制出合适的三维曲线。
axis函数功能丰富,常用格式还有:
axis equal:横、纵坐标采用等长刻度;
axis square:产生正方形坐标系(缺省为矩形);
axis auto:使用缺省设置;
axis off:取消坐标轴;
axis on:显示坐标轴。
给坐标加网格线用grid命令来控制,grid on表示加网格线,grid off表示不加网格线,不带参数的grid命令在两种状态之间进行切换。
例:输入命令:
>>axis([-1,7,-1,7])
>>hold on //固化屏幕
此时画图窗口坐标从(-1,-1)到(7,7).
1.2 set函数
使用set可以设置坐标轴的一些属性
例:
axis([0 255 0 15000]);
set(gca,'xtick',[0:50:255]);%设置横坐标轴的间距
set(gca,'ytick',[0:1000:15000]);%设置纵坐标轴的间距
set(gca,'color','g');%设置绘图区域的颜色
1.3 xlim及ylim
例:
xlim([-2 30]);%设置x轴范围
ylim([12 90]);%设置y周范围
hold on;
说明:当仅设置一个坐标轴的范围时候,另外一个坐标轴将采用’auto’方式.
1.4设置绘图窗口的绘图区域位置
haxes=axes('Position',[0.05,0.45,0.9,0.53]);
上面是使用的相对坐标,也可以使用绝对坐标.
1.5获取坐标轴范围
h=get(gca,'xlim');%获取x的范围
k=get(gca,'ylim');%获取y的范围
2、绘图属性设置
作图的一些属性如下表:
符号 | 含义 |
W | 白色 |
k | 黑色 |
r | 红色 |
y | 黄色 |
m | 洋红色 |
g | 绿色 |
c | 青绿色 |
b | 蓝色 |
:. | 点划线 |
. | 实心圆 |
X | 叉号符 |
* | 星号 |
: | 虚线 |
S | 正方形 |
o (字母o) | 空心圆 |
-- (两个减号) | 双划线 |
+ | 加号符 |
d | 菱形 |
^ | 上三角形 |
-(减号) | 实线(默认) |
V | 下三角形 |
> | 右三角形 |
< | 左三角形 |
P | 五角星 |
H | 六边形 |
注:要同时使用上面的多种属性时,直接放在一起就行.例如:plot([0,3],[0,3],'b:'),则画的直线为蓝色的虚线.
cla命令可以清除绘图窗口已有的图形.
3、绘制直线
3.1使用plot函数
【例一】
画从(0,1)到(2,3)的直线(实线)
plot([0,2],[1,3],'m')
【例二】
画从(0,0)到(6,3)的直线(虚线)
plot([0,6],[0,3],':')
【例三】:通过复数画直线
画从(0,1)到(2,3)的直线(实线)
x = [i , 2 + 3 * i];
polt(x,’m’)
3.2使用line函数
使用line函数可以绘制直线,可以在二维平面画直线,也可以在三维平面画直线.
【例一】:
axis([-2 2 -2 2]); hold on ; t = 0:(2*pi/50):(2*pi) ; plot(sin(t),cos(t),'-r'); line(sin(12*t),cos(12*t),'Marker','.','LineStyle','-','color','b'); |
【例二】:
axis([-2 2 -2 2]); hold on ; axis square ; t = 0:(2*pi/50):(2*pi) ; plot(sin(t),cos(t)); %通过定义一个结构体来设置属性 PS.Color=[0.8 0.9 0.2]; PS.LineWidth=2; PS.Marker = '*'; line(sin(12*t),cos(12*t),PS); |
【例三】:小球运动
% 产生封闭的运动轨线
t1=(0:1000)/1000*10*pi;x1=cos(t1);y1=sin(t1);z1=-t1;
t2=(0:10)/10;x2=x1(end)*(1-t2);y2=y1(end)*(1-t2);z2=z1(end)*ones(size(x2));
t3=t2;z3=(1-t3)*z1(end);x3=zeros(size(z3));y3=x3;
t4=t2;x4=t4;y4=zeros(size(x4));z4=y4;
x=[x1 x2 x3 x4];y=[y1 y2 y3 y4];z=[z1 z2 z3 z4];
plot3(x,y,z,'b'), axis off % 绘制曲线
% 定义"线"色、"点"型(点)、点的大小(40)
h=line('Color',[1 0 0],'Marker','.','MarkerSize',40);
% 使小球运动
n=length(x);i=1;
while 1
set(h,'xdata',x(i),'ydata',y(i),'zdata',z(i));
drawnow;
pause(0.0005)
i=i+1;
if i>n
break;
end
end
4、图形标注
4.1 text函数
【例一】
在坐标(1,-0.2)出输出字符’3’
text(1,-0.2,num2str(3))
注:num2str()函数功能是将数字转换成字符串
【例二】
在(2,3)处标出其坐标
text(2,3,'(2,3)')
4.2 legend函数
legend函数可以对同一绘图窗口的多条曲线进行标注.
使用示例:
代码: figure; x = -pi:pi/20:pi; plot(x,cos(x),'-ro',x,sin(x),'-.b') legend('cos_x','sin_x'); |
4.3其它标注
title(图形名称)
xlabel(x轴说明)
ylabel(y轴说明)
zlabel(z轴说明)
title和xlabel,ylabel,zlabel函数分别用于说明图形名称和坐标轴的名称。
5、设置曲线样式
图4-1 线型选项
选项 | 线型 | 选项 | 线型 |
- | 实线(默认值) | -. | 点划线 |
: | 虚线 | -- | 双划线 |
图4-2 颜色选项
序号 | 选项 | 颜色 | 序号 | 选项 | 颜色 |
1 | b (blue) | 蓝色 | 5 | m (magenta) | 品红色 |
2 | g (green) | 绿色 | 6 | y (yellow) | 黄色 |
3 | r (red) | 红色 | 7 | k (black) | 黑色 |
4 | c (cyan) | 青色 | 8 | w (white) | 白色 |
图4-3 标记符号选项
选项 | 标记符号 | 选项 | 标记符号 |
. | 点 | v | 朝下三角符号 |
o(字母) | 圆圈 | ^ | 朝上三角符号 |
x(字母) | 叉号 | < | 朝左三角符号 |
+ | 加与 | > | 朝右三角符号 |
* | 星号 | p (pentagram) | 五角星符 |
s (square) | 方块符 | h (hexagram) | 六角星符 |
d (diamond) | 菱形符 |
|
|
6、使用双坐标轴绘制图形
plotyy函数可以在双坐标轴上绘制曲线.
使用格式:
[AX,h1,h2] = plotyy(x1,y1,x2,y2)
说明:
AX为绘图的纵坐标的句柄,AX(1)代表左边纵坐标的句柄,AX(2)代表右边纵坐标的句柄;h1为左边图形的句柄;h2为右边图形的句柄.
使用示例:
figure; x = -pi:pi/20:pi; [AX,hl,hr] = plotyy(x,10*cos(x),x,sin(x)); set(hl,'LineStyle','--');%设置左边图形属性 set(hr,'LineStyle','.');%设置右边图形属性 set(get(AX(1),'Ylabel'),'String','余弦曲线') ; set(get(AX(2),'Ylabel'),'String','正弦曲线') ; |
7、图形窗口的分割
subplot函数的调用格式为:
subplot(m,n,p)
该函数将当前图形窗口分成m×n个绘图区,即m行n列个绘图区,区号按行优先编号,且选定第p个区为当前活动区。在每个绘图区允许以不同的坐标系单独绘制图形。
8、隐函数绘图
MATLAB提供了一个ezplot函数绘制隐函数图形,下面介绍其用法。
(1) 对于函数f = f(x),ezplot函数的调用格式为:
ezplot(f):在默认区间-2π<x<2π绘制f = f(x)的图形。
ezplot(f, [a,b]):在区间a<x<b绘制f = f(x)的图形。
(2) 对于隐函数f = f(x,y),ezplot函数的调用格式为:
ezplot(f):在默认区间-2π<x<2π和-2π<y<2π绘制f(x,y) = 0的图形。
ezplot(f, [xmin,xmax,ymin,ymax]):在区间xmin<x<xmax和ymin<y<ymax绘制f(x,y) = 0的图形。
ezplot(f, [a,b]):在区间a<x<b和a<y< b绘制f(x,y) = 0的图形。
(3) 对于参数方程x = x(t)和y = y(t),ezplot函数的调用格式为:
ezplot(x,y):在默认区间0<t<2π绘制x=x(t)和y=y(t)的图形。
ezplot(x,y, [tmin,tmax]):在区间tmin < t < tmax绘制x=x(t)和y=y(t)的图形。
【例一】
x = 'sin(2*t^2)' ; y = 'sin(t)+2*cos(t)'; ezplot(x,y,[-5,5]); |
【例二】
f = ezplot('x^2+y^2=2',[-2,2]); set(f,'color','red'); |
【例三】
z = 'x.^2+2*cos(y)'; f = ezplot(z,[-2,2,-pi,pi]); set(f,'color','red'); |
最后
以上就是靓丽小霸王为你收集整理的Matlab学习笔记(一)--绘图的全部内容,希望文章能够帮你解决Matlab学习笔记(一)--绘图所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复