这篇文章上次修改于 430 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

MATLAB提供了多种绘图函数,包括二维绘图、 三维绘图以及特殊图形绘制的函数,本文内容为二维绘图方式。

基本绘图函数
plot(x,y) >> 该函数将绘制一个以x为横坐标,y为纵坐标的二维曲线。

代码示例:

x=-10:0.1:10;
y=cos(x);
plot(x,y)

这段代码设定了一个范围在-5到5之间,且每步间隔长度为0.1的横坐标,一个纵坐标为cos(x)的二维曲线
运行结果如下:
1.png

如果想在同一个窗口绘制多条图像,则可设置多个横坐标与纵坐标的变量:
plot(x1,y1,x2,y2,......xn,yn)

代码示例:

>> x = 0:pi/100:2*pi;
>> y1 = 2*cos(x);
>> y2 = cos(x);
>> y3 = 0.5*cos(x);
>> plot(x,y1,x,y2,x,y3)

这段代码给出一个横坐标x和三个纵坐标y1,y2,y3,并执行plot,结果如下:
2.png

可以看到,MATLAB自行分配了三种不同的颜色用于区分不同曲线。
而实际上,MATLAB提供了多种曲线的线形和颜色以供选择:

plot(x,y,s) %这里的s表示的是用户自行决定的线形和颜色
3.png

例如:
plot(x,y1,'b--',x,y2,'r-',x,y3,'k-.')

为二维图形添加标注
以下列出为二维图形添加标注的相关方法:
title(‘text’) %给图形加上标题
xlabel(‘text’) %给 X 轴加上标签
ylabel(‘text’) %给 Y 轴加上标签
legend(‘string1’,’string2’,..) %给图形加图例
legend off %关闭图例
text(x,y,’string’) %在图形指定位置加上注释, 其中(x,y)为指定坐标位置。
gtext(‘string’) %利用鼠标来放置文本, 在图形上加注释, 常用于较复杂的图形, 执行时,
图形中出现“十”字型交叉线供用户选择标注位置。
grid on %给图形加上栅格线
grid off %去除栅格线
figure(n) %打开新的图形窗口

二维曲线多子图的绘制方法
在某些情况下,为了对比不同图形之间的区别,需要在一个窗口绘制多个图形,这时候就需要用到subplot与plot的结合:
subplot( m,n,p ) %图形分为 m 行 n 列子图, 当前子图序号为 p(按行编号)
代码示例:

x= -3: 0.01: 3;
y1 = x.^3-2*x-3; y2 = x.*sin(x);
subplot(1,2,1); plot(x,y1);
xlabel('x'); ylabel('y');
title('y1=x^3-2x-3');

subplot(1,2,2); plot(x,y2);
xlabel('x'); ylabel('y');
title('y2=xsinx');

这里绘制了两个图形,分别是x,y1和x,y2,并以一行二列的形式分割开来,执行结果如下:
4.png

以下是一些特殊图像的绘图函数:
polar 极坐标图
bar 条形图
errorbar 误差条形图
fill 填充图
area 面积图
stairs 阶梯图
hist 直方图
pie 饼图
stem 脉冲图
compass 罗盘图
comet 彗星图
rose 玫瑰花图