在 MATLAB 中的单个散点图上绘制多个数据集

Ammar Ali 2024年2月15日
在 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() 函数一样。

作者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相关文章 - MATLAB Plot