在 MATLAB 中的单个散点图上绘制多个数据集
本教程将讨论使用 MATLAB 中的 scatter()
函数和 hold on
命令在单个散点图上绘制多个数据集。
在 MATLAB 中的单个散点图上绘制多个数据集
Matlab 的 scatter()
函数将给定的数据集绘制为 2D 图上的圆形或气泡,scatter3()
函数将数据集绘制在 3D 图上。我们还可以使用 scatter()
函数更改散点图的圆圈或气泡的许多属性,例如它们的大小和颜色。
scatter()
和 scatter3()
函数已在本网站上通过示例进行了讨论,但我们仅绘制了关于该主题的单个数据集。在继续之前,请检查此链接以查看该主题。
现在我们将讨论如何在 Matlab 中的单个散点图上绘制多个数据集。我们必须对每个数据集分别使用 scatter()
函数来将其绘制在散点图上。
假设我们在 Matlab 中使用多个绘图函数。在这种情况下,只有最后一个图是可见的,因为最后一个图将覆盖所有其他图,我们只会看到最后一个图,但是我们可以使用 Matlab 的 hold on
命令禁用 Matlab 的这种行为。
每次绘制散点图时,我们都必须使用 hold on
命令,除了第一个散点图以将所有给定的数据集绘制在同一个图上。
例如,让我们在 Matlab 的同一个散点图上创建并绘制两个数据集。请参阅下面的代码。
clc
clear
x = linspace(0,2*pi,100);
y = sin(x) + rand(1,100);
scatter(x,y)
x1 = linspace(0,4*pi,100);
y1 = sin(x) + rand(1,100);
hold on
scatter(x1,y1)
legend('scatter plot 1','scatter plot 2')
输出:
我们在上面的代码中绘制了第一个数据集,然后在绘制第二个数据集之前使用了 hold on
命令。我们还使用了 legend()
函数来显示哪种颜色属于哪个数据集。
legend()
函数的参数数量等于绘制在单个散点图上的数据集数量。我们可以给每个数据集一个唯一的名称,以将其与其他数据集区分开来。
如果我们在同一个散点图上绘制多个数据集,Matlab 会给每个数据集一个不同的颜色,使它们彼此不同。我们可以在上面的输出中看到两个数据集都有不同的颜色,图上的图例根据颜色给出了数据集的信息。
根据数据集,轴限制可以在多个散点图中发生变化。所以我们不能设置轴限制,因为有些数据集可能很长,如果我们设置短轴限制,整个数据集将不会被覆盖在图上。
我们也可以使用 scatter3()
函数来绘制 3D 平面中的多个绘图,就像我们使用 scatter()
函数一样。