Matlab 绘图:多个图形的组合
在 Matlab 中,我们常常需要在同一张图中展示多个图形。这时,我们可以使用图形数组(graphics array)来实现,将多个图形组合在一起,方便我们进行比较和分析。
下面,我们就来介绍一下如何使用图形数组来绘制多个图形。
我们可以使用 subplot 函数来创建一个图形数组。subplot 函数的参数控制着图形数组的行数、列数、以及当前绘制的图形在图形数组中的位置。例如,如果我们想创建一个 2x3 的图形数组,并将当前绘制的图形放在第 4 个位置,可以使用以下代码:
subplot(2, 3, 4);
当我们调用 subplot 函数时,Matlab 会自动将当前绘制的图形切换为指定位置的子图,我们可以在该子图上进行绘制操作。
在创建好图形数组后,我们就可以在各个子图上进行绘制操作了。例如,我们可以在第一个子图上绘制一个正弦曲线,代码如下:
x = 0:0.1:2*pi;
y = sin(x);
subplot(2, 3, 1);
plot(x, y);
我们也可以在不同的子图上绘制不同的图形,例如,在第二个子图上绘制一个余弦曲线:
x = 0:0.1:2*pi;
y = cos(x);
subplot(2, 3, 2);
plot(x, y);
我们还可以修改图形数组中各个子图的属性,例如,调整坐标轴范围、添加标题和标签等。下面是一个例子,我们在第三个子图上绘制一个散点图,并添加标题和坐标轴标签:
x = randn(100, 1);
y = randn(100, 1);
subplot(2, 3, 3);
scatter(x, y);
title('Scatter Plot');
xlabel('X Axis');
ylabel('Y Axis');
在完成图形数组的绘制后,我们可以使用 figure 函数来展示图形。默认情况下,Matlab 会按照顺序依次展示图形数组中各个子图,我们也可以使用 subplot 函数来指定展示哪些子图。例如,以下代码展示了图形数组中的第 1、3、5 个子图:
subplot(1, 3, 1);
imshow('image1.jpg');
subplot(1, 3, 2);
imshow('image2.jpg');
subplot(1, 3, 3);
imshow('image3.jpg');
完整代码如下:
x = 0:0.1:2*pi;
y = sin(x);
subplot(2, 3, 1);
plot(x, y);
x = 0:0.1:2*pi;
y = cos(x);
subplot(2, 3, 2);
plot(x, y);
x = randn(100, 1);
y = randn(100, 1);
subplot(2, 3, 3);
scatter(x, y);
title('Scatter Plot');
xlabel('X Axis');
ylabel('Y Axis');
subplot(1, 3, 1);
imshow('image1.jpg');
subplot(1, 3, 2);
imshow('image2.jpg');
subplot(1, 3, 3);
imshow('image3.jpg');
通过以上的代码操作,我们可以发现图形数组能够方便地将多个图形组合在一起,在进行比较和分析时非常有用。