MATLAB 中的散点图
本文将讨论使用 MATLAB 中的 scatter()
函数创建散点图。
使用 MATLAB 中的 scatter()
函数创建散点图
scatter(x,y)
函数在输入向量 x 和 y 指定的位置上创建散点图。默认情况下,scatter()
函数使用圆形标记来绘制给定的数据。例如,让我们使用 scatter()
函数来创建给定数据的散点图。请参阅下面的代码。
clc
x = linspace(0,2*pi,100);
y = sin(x) + rand(1,100);
scatter(x,y)
输出:
存储在变量 x 和 y 中的数据用于在输出中创建散点图。确保变量 x 和 y 的长度应该相同。否则,MATLAB 将显示错误。默认情况下,scatter()
函数使用圆圈大小和颜色的默认值,但我们可以更改函数的默认属性。例如,要更改圆圈的大小,我们必须将圆圈的大小定义为 scatter()
函数内的第三个参数。例如,让我们更改上图中圆圈的大小。请参阅下面的代码。
clc
x = linspace(0,2*pi,100);
y = sin(x) + rand(1,100);
scatter(x,y,10)
输出:
上面输出中圆圈的大小与之前散点图中圆圈的大小不同。大小应为正数值或与输入向量 x 和 y 大小相同的向量。如果大小是单个正数值,就像上面的代码一样,它将应用于散点图中存在的所有圆圈。我们还可以使用与输入向量 x 和 y 长度相同的向量为每个圆赋予不同的大小值。例如,让我们改变上面散点图中每个圆圈的大小。请参阅下面的代码。
clc
x = linspace(0,2*pi,100);
y = sin(x) + rand(1,100);
CSize = 1:100;
scatter(x,y,CSize)
输出:
在上面的输出中,每个圆圈都有不同的大小。我们还可以通过在 scatter()
函数中将其作为第四个参数传递来更改散点图中圆圈的颜色。例如,让我们将上面散点图中圆圈的颜色更改为黑色。请参阅下面的代码。
clc
x = linspace(0,2*pi,100);
y = sin(x) + rand(1,100);
CSize = 1:100;
scatter(x,y,CSize,[0 0 0])
输出:
在上面的散点图中,圆圈的颜色是黑色,但我们可以通过在 scatter()
函数中输入该颜色的 RGB 值作为第四个参数来赋予它任何颜色。我们还可以通过在 scatter()
函数中将颜色名称作为字符串传递来更改颜色。如果我们只定义一个颜色值,它将应用于散点图中存在的所有圆圈。我们还可以通过使用与输入向量 x 和 y 大小相同的矩阵为每个圆赋予不同的颜色。矩阵可以包含正数值或 RGB 三元组颜色。例如,让我们改变上面散点图中每个圆圈的颜色。请参阅下面的代码。
clc
x = linspace(0,2*pi,100);
y = sin(x) + rand(1,100);
CSize = 1:100;
CColor = 100:-1:1;
scatter(x,y,CSize,CColor)
colorbar
输出:
colorbar
命令在上面的代码中用于在散点图中绘制颜色条。我们可以从颜色条中看出,低值属于较冷的颜色,高值属于较热的颜色。在此示例中,我们使用了具有正数值的向量,但我们也可以使用具有 RGB 三元组值的矩阵。上面散点图中的圆圈是空心的,但我们也可以使用 scatter()
函数内的 filled
属性来填充它们。例如,让我们填充上面散点图中的圆圈。请参阅下面的代码。
clc
x = linspace(0,2*pi,100);
y = sin(x) + rand(1,100);
CSize = 1:100;
CColor = 100:-1:1;
scatter(x,y,CSize,CColor,'filled')
colorbar
输出:
在输出中,填充了每种颜色。我们还可以更改散点图中的标记符号。默认情况下,scatter()
函数使用圆圈作为标记,但我们可以通过传递一个包含标记符号的字符串来更改它,例如 d
代表菱形,p
代表五角星,h
代表六角星,等等。例如,让我们将上面散点图中的标记符号从圆形更改为五角星形。请参阅下面的代码。
clc
x = linspace(0,2*pi,100);
y = sin(x) + rand(1,100);
CSize = 1:100;
CColor = 100:-1:1;
scatter(x,y,CSize,CColor,'p')
输出:
在输出中,标记符号更改为五角星形。我们还可以使用 scatter()
函数中的 MarkerFaceAlpha
属性更改标记的透明度。我们可以将透明度值从 0 更改为 1。例如,我们将上面散点图的透明度更改为 0.5。请参阅下面的代码。
clc
x = linspace(0,2*pi,100);
y = sin(x) + rand(1,100);
CSize = 1:100;
CColor = 100:-1:1;
scatter(x,y,CSize,CColor,'filled','MarkerFaceAlpha',0.5)
输出:
在输出中,标记具有相同的边缘和面颜色,但我们可以为标记赋予不同的边缘和面颜色。要更改标记的边缘颜色,我们可以使用 scatter()
图中的 MarkerEdgeColor
属性。要更改标记的面部颜色,我们可以使用 MarkerFaceColor
属性。颜色值可以是任何 RGB 三元组或包含颜色名称的字符串。我们还可以使用 LineWidth
属性更改标记边缘的线宽。例如,让我们更改上面散点图中标记的边缘颜色、面颜色和线宽。请参阅下面的代码。
clc
x = linspace(0,2*pi,100);
y = sin(x) + rand(1,100);
CSize = 1:100;
scatter(x,y,CSize,'MarkerFaceColor','yellow','MarkerEdgeColor','black','LineWidth',1.5)
输出:
在输出中,标记面颜色为黄色,边缘颜色为黑色。如果我们想创建一个 3D 散点图,我们可以使用 scatter3()
函数。此函数与 scatter()
函数相同,不同之处在于它在 3D 平面中绘制给定数据。我们可以为 scatter3()
函数提供两个或三个输入向量。在三个输入的情况下,第一个向量包含 x 坐标,第二个包含 y 坐标,第三个包含 z 坐标。在两个输入向量的情况下,第三个坐标 z 将从前两个坐标的索引中获取。例如,让我们使用 scatter3()
函数在 3D 位置绘制上述散点图。请参阅下面的代码。
clc
x = linspace(0,2*pi,100);
y = sin(x) + rand(1,100);
z = 1:100;
scatter3(x,y,z)
输出:
我们还可以像更改 scatter()
函数一样更改 scatter3()
函数属性。
相关文章
如何在 Matplotlib Pyplot 中显示网格
发布时间:2024/02/04 浏览次数:142 分类:Python
-
本文演示了如何在 Python Matplotlib 中在一个图上画一个网格。使用 grid()函数来绘制网格,并解释了如何改变网格颜色和线条类型。
在 Matplotlib 中的图中添加文字
发布时间:2024/02/04 浏览次数:180 分类:Python
-
本教程展示了我们如何使用 plt.text()方法在 Matplotlib 中为图或轴添加文字。
如何在 Matplotlib 中的多个线条之间进行填充
发布时间:2024/02/04 浏览次数:208 分类:Python
-
`fill_between()` 每次只能填充两条线之间的区域,但是我们可以选择一对行来填充多个线条之间的区域。
如何在 Matplotlib 中画一条任意线
发布时间:2024/02/04 浏览次数:166 分类:Python
-
本教程讲解了我们如何在 Matplotlib 中使用 matplotlib.pyplot.plot()、matplotlib.pyplot.vlines()、matplotlib.pyplot.hlines()方法和 matplotlib.collection.LineCollection 绘制任意线条。
Pandas 在 Matplotlib 柱状图上绘制多列图
发布时间:2024/02/04 浏览次数:189 分类:Python
-
在本教程中,我们将探讨如何使用 `DataFrame` 对象的 `plot()` 方法在柱状图上绘制多列。
如何在 Matplotlib 中绘制数据列表的直方图
发布时间:2024/02/04 浏览次数:178 分类:Python
-
本教程介绍了如何使用 plt.hist()方法从数据列表中绘制直方图。我们可以使用 plt.hist()方法从数据列表中绘制直方图。
Matplotlib 中的叠加条形图
发布时间:2024/02/04 浏览次数:182 分类:Python
-
本教程展示了如何使用 plt.bar()方法将某些数据集的条形图堆叠在另一个数据集上。我们在 Matplotlib 中使用 matplotlib.pyplot.bar()方法生成条形图。
在 Python Matplotlib 中生成反向色彩图
发布时间:2024/02/04 浏览次数:136 分类:Python
-
本教程解释了如何反转 Python Matplotlib Plot 的 Colormap。
设置 Matplotlib 网格间隔
发布时间:2024/02/04 浏览次数:250 分类:Python
-
本教程将介绍我们如何在 Matplotlib 绘图中设置网格间距,并对主要网格和次要网格应用不同的样式。