Matlab中plot和scatter的区别

6
考虑以下数据点和图表。
a = randi(50,1,200);
b = randi(50,1,200);
figure;scatter(a,b,'.')
figure;plot(a,b,'.')

当我们运行以下代码时,对于 a 和 b,我们得到完全相同的图形。我的问题是,为什么我们甚至要使用或重新表述,在什么情况下散点图函数(scatter)比绘图函数(plot)更有优势?因为绘图函数(plot)似乎具有更多的格式选项。

5
plot有许多格式选项,但它们通常适用于相同类型的数据系列,因为格式将被统一应用于所有数据点。另外,默认情况下,plot会使用线连接点(除非您禁用该线)。scatter默认情况下不连接点,并允许您为每个数据点应用不同的格式(颜色、标记形状等)。建议:如果您不需要区分数据点,请使用plot,如果您需要根据另一个属性以不同方式显示一些点(来自相同的数据集),则请使用scatter - Hoki
@Hoki 感谢您解释了这个区别。 - Novice_Developer
为什么要踩我?是我错过了什么或者没有展示我的努力吗?我只是分享了我的观察并且有些困惑,还是我的陈述中有不正确的地方? - Novice_Developer
1个回答

13

plot有一个关于点的顺序很重要的概念,因此您可以使用它来制作线图。 plot还允许您将输入xy值指定为向量或矩阵,或者允许您输入多个xy向量,这两种方法都允许您同时绘制多个系列:

![enter image description here

相较于scatter只允许你输入一个x和一个y,且它们都必须是向量,'scatter'允许你指定一个区域和颜色向量来分别影响点,使得数据可视化更加个性化。

enter image description here

enter image description here


1
你能把每个图的代码放上吗?我会非常感激! - Ali Rojas
@AliRojas 抱歉,这是我4年前写的。但是代码很简单,请看最后两个链接:https://matplotlib.org/gallery/shapes_and_collections/scatter.html#sphx-glr-gallery-shapes-and-collections-scatter-py 。和 https://matplotlib.org/3.2.2/gallery/lines_bars_and_markers/simple_plot.html#sphx-glr-gallery-lines-bars-and-markers-simple-plot-py 。第一个链接是第一个。 - Dan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接