迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > MATLAB >

MATLAB 中的散点图

作者:迹忆客 最近更新:2023/03/19 浏览次数:

本文将讨论使用 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)

输出:

3D 平面中的散点图

我们还可以像更改 scatter() 函数一样更改 scatter3() 函数属性。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 MATLAB 中注释多行

发布时间:2023/04/23 浏览次数:111 分类:MATLAB

可以使用注释块方法或 MATLAB 编辑器在 MATLAB 中注释多行。

MATLAB 最大索引

发布时间:2023/04/23 浏览次数:192 分类:MATLAB

在本教程中,我们将讨论如何使用 MATLAB 中的 max() 函数从数组及其索引中查找最大值。

MATLAB 索引超出矩阵尺寸

发布时间:2023/04/23 浏览次数:103 分类:MATLAB

要解决索引超出矩阵索引的问题,请检查你要获取或替换数据的索引。

MATLAB 检查变量类型

发布时间:2023/04/23 浏览次数:92 分类:MATLAB

在本教程中,我们将讨论如何使用 MATLAB 中的 class() 和 whos 函数检查给定变量的类型。

MATLAB vs Octave

发布时间:2023/04/23 浏览次数:74 分类:MATLAB

我们可以说 Octave 是 MATLAB 的免费版本。

MATLAB MAT 文件

发布时间:2023/04/23 浏览次数:89 分类:MATLAB

可以使用 MAT 文件在 MATLAB 中存储和加载格式化的数据。

MATLAB asv 文件

发布时间:2023/04/23 浏览次数:180 分类:MATLAB

.asv 文件是 MATLAB 生成的自动保存文件,因此在计算机崩溃时你不会丢失数据。

MATLAB 三元运算符

发布时间:2023/04/23 浏览次数:130 分类:MATLAB

MATLAB 中没有三元运算符,因此你必须使用标准格式。

MATLAB & vs &&

发布时间:2023/04/23 浏览次数:134 分类:MATLAB

在 MATLAB 中,&是逻辑与运算符,&&也是表现出短路行为的逻辑运算符。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便