MATLAB画图

二维图像

plot

命令格式

plot(Y)

命令中的 Y 参数可以是向量、实数矩阵或复数矩阵:

  • 向量:以索引值为横坐标,向量元素为纵坐标
  • 实数矩阵:每个列向量以索引值为横坐标,向量元素为纵坐标
  • 复向量:以实部为横坐标,虚部为纵坐标

输入

y1=sin((1:100)/100*pi*2);
y2=cos((1:100)/100*pi*2);
y3=[y1' y2'];
y4=y1'+y2'*i;

subplot(221);plot(y1) %左上
subplot(222);plot(y2) %右上
subplot(223);plot(y3) %左下
subplot(224);plot(y4) %右下

输出

plot(X1, Y1, X2, Y2, ……, Xn, Yn)

X,Y 参数可以是向量或矩阵:

  • 都是向量:以 X 为横坐标,Y 为纵坐标
  • X 是 n维向量,Y 是 n×m 或 m×n 矩阵:绘制 m 条不同颜色的线
  • X,Y 都是 m×n 矩阵:绘制 n 条同颜色的线,第 i 条线的横轴为 X 矩阵的第 i 列,纵轴为 Y 矩阵的第 i 列

输入

x1=(1:100)/100*pi*2;
x2=((1:100)-20)/100*pi*2;
x3=[x1' x2'];
y1=sin((1:100)/100*pi*2);
y2=cos((1:100)/100*pi*2);
y3=[y1' y2'];

subplot(221);plot(x1, y1);axis tight %左上
subplot(222);plot(x2, y2);axis tight %右上
subplot(223);plot(x3, y3);axis tight %左下
subplot(224);plot(x1, y2, x3, 0.5*y3);axis tight %右下

输出

plot(X,Y,LineSpec,…,Xn,Yn, LineSpec

其中,X、Y 要求与上一个一致,LineSpec 为属性设置字符,可设置线型、标识和颜色。

输入

x1=(1:100)/100*pi*2;
x2=((1:100)-20)/100*pi*2;
x3=[x1' x2'];
y1=sin((1:100)/100*pi*2);
y2=cos((1:100)/100*pi*2);
y3=[y1' y2'];

subplot(131);plot(x1, y1, 'k.');axis tight %左
subplot(132);plot(x1, y1, 'k.', x2, y2, 'r+');axis tight %中
subplot(133);plot(x1, y2, 'k.', x3, 0.5*y3, 'r+');axis tight %右

输出

更多参数的设定可以参考下图:

图形堆叠

默认情况下,每次使用 plot 都会覆盖原有图形。要在同一张图中绘制,要使用 hold 命令。

hold on:使当前轴和图形保留下来,不被覆盖,并接受绘制的新曲线。

hold off:不保留当前轴及图形,绘制新的曲线后,原图被覆盖

hold:hold on 语句与 hold off 语句的切换

输入

x = -pi:pi/20:pi;
figure; hold off; subplot(121);
plot(sin(x))
plot(cos(x)) %被覆盖
hold off; subplot(122);
plot(sin(x))
hold on;
plot(cos(x)) %不被覆盖
hold off

输出

MATLAB作图速查表