- Matlab 教程
- MATLAB - 首页
- MATLAB - 概述
- MATLAB - 特性
- MATLAB - 环境设置
- MATLAB - 编辑器
- MATLAB - 在线
- MATLAB - 工作区
- MATLAB - 语法
- MATLAB - 变量
- MATLAB - 命令
- MATLAB - 数据类型
- MATLAB - 运算符
- MATLAB - 日期和时间
- MATLAB - 数字
- MATLAB - 随机数
- MATLAB - 字符串和字符
- MATLAB - 文本格式化
- MATLAB - 时间表
- MATLAB - M 文件
- MATLAB - 冒号表示法
- MATLAB - 数据导入
- MATLAB - 数据输出
- MATLAB - 数据归一化
- MATLAB - 预定义变量
- MATLAB - 决策
- MATLAB - 决策
- MATLAB - If End 语句
- MATLAB - If Else 语句
- MATLAB - If…Elseif Else 语句
- MATLAB - 嵌套 If 语句
- MATLAB - Switch 语句
- MATLAB - 嵌套 Switch
- MATLAB - 循环
- MATLAB - 循环
- MATLAB - For 循环
- MATLAB - While 循环
- MATLAB - 嵌套循环
- MATLAB - Break 语句
- MATLAB - Continue 语句
- MATLAB - End 语句
- MATLAB - 数组
- MATLAB - 数组
- MATLAB - 向量
- MATLAB - 转置运算符
- MATLAB - 数组索引
- MATLAB - 多维数组
- MATLAB - 兼容数组
- MATLAB - 分类数组
- MATLAB - 元胞数组
- MATLAB - 矩阵
- MATLAB - 稀疏矩阵
- MATLAB - 表格
- MATLAB - 结构体
- MATLAB - 数组乘法
- MATLAB - 数组除法
- MATLAB - 数组函数
- MATLAB - 函数
- MATLAB - 函数
- MATLAB - 函数参数
- MATLAB - 匿名函数
- MATLAB - 嵌套函数
- MATLAB - 返回语句
- MATLAB - 无返回值函数
- MATLAB - 局部函数
- MATLAB - 全局变量
- MATLAB - 函数句柄
- MATLAB - 滤波函数
- MATLAB - 阶乘
- MATLAB - 私有函数
- MATLAB - 子函数
- MATLAB - 递归函数
- MATLAB - 函数优先级顺序
- MATLAB - Map 函数
- MATLAB - 均值函数
- MATLAB - End 函数
- MATLAB - 错误处理
- MATLAB - 错误处理
- MATLAB - Try...Catch 语句
- MATLAB - 调试
- MATLAB - 绘图
- MATLAB - 绘图
- MATLAB - 绘制数组
- MATLAB - 绘制向量
- MATLAB - 条形图
- MATLAB - 直方图
- MATLAB - 图形
- MATLAB - 2D 线性图
- MATLAB - 3D 图形
- MATLAB - 格式化图形
- MATLAB - 对数坐标轴图形
- MATLAB - 绘制误差条
- MATLAB - 绘制 3D 等值线图
- MATLAB - 极坐标图
- MATLAB - 散点图
- MATLAB - 绘制表达式或函数
- MATLAB - 绘制矩形
- MATLAB - 绘制频谱图
- MATLAB - 绘制网格曲面
- MATLAB - 绘制正弦波
- MATLAB - 插值
- MATLAB - 插值
- MATLAB - 线性插值
- MATLAB - 2D 数组插值
- MATLAB - 3D 数组插值
- MATLAB - 多项式
- MATLAB - 多项式
- MATLAB - 多项式加法
- MATLAB - 多项式乘法
- MATLAB - 多项式除法
- MATLAB - 多项式的导数
- MATLAB - 变换
- MATLAB - 变换
- MATLAB - 拉普拉斯变换
- MATLAB - 拉普拉斯滤波器
- MATLAB - 高斯-拉普拉斯滤波器
- MATLAB - 逆傅里叶变换
- MATLAB - 傅里叶变换
- MATLAB - 快速傅里叶变换
- MATLAB - 2D 逆余弦变换
- MATLAB - 向坐标轴添加图例
- MATLAB - 面向对象
- MATLAB - 面向对象编程
- MATLAB - 类和对象
- MATLAB - 函数重载
- MATLAB - 运算符重载
- MATLAB - 用户定义类
- MATLAB - 复制对象
- MATLAB - 代数
- MATLAB - 线性代数
- MATLAB - 高斯消元法
- MATLAB - 高斯-约旦消元法
- MATLAB - 简化行阶梯形式
- MATLAB - 特征值和特征向量
- MATLAB - 积分
- MATLAB - 积分
- MATLAB - 二重积分
- MATLAB - 梯形法则
- MATLAB - 辛普森法则
- MATLAB - 其他
- MATLAB - 微积分
- MATLAB - 微分
- MATLAB - 矩阵的逆
- MATLAB - GNU Octave
- MATLAB - Simulink
- MATLAB - 有用资源
- MATLAB - 快速指南
- MATLAB - 有用资源
- MATLAB - 讨论
MATLAB - 散点图
散点图是一种数据可视化类型,它将单个数据点显示为点。它们有助于显示两个连续变量之间的关系,例如身高和体重,或突出数据中的集群或模式。
图上的每个点代表一个数据点,它在 x 轴上的位置对应于一个变量,它在 y 轴上的位置对应于另一个变量。散点图对于识别数据中的趋势、模式和异常值特别有用。在 MATLAB 中,您可以使用 scatter 函数创建散点图。
语法
scatter(x,y) scatter(x,y,sz) scatter(x,y,sz,c) scatter(___,"filled") scatter(___,mkr) scatter(tbl,xvar,yvar) scatter(tbl,xvar,yvar,"filled")
语法的详细解释如下:
scatter(x,y) - scatter(x, y) 函数生成一个散点图,其中圆形标记根据向量 x 和 y 中的值进行定位。对于一组坐标,请确保 x 和 y 是长度相同的向量。要在单个坐标系上绘制多组坐标,请将 x 或 y 作为矩阵输入。
scatter(x,y,sz) - 函数定义散点图中圆圈的大小。要使所有圆圈大小相同,请将 sz 设置为单个值。对于不同的圆圈大小,请对 sz 使用向量或矩阵。
scatter(x,y,sz,c) - 设置散点图中圆圈的颜色。您可以为所有圆圈选择一种颜色或具有不同的颜色。例如,要将所有圆圈绘制为红色,请将 c 设置为“red”。
scatter(___,"filled") - 此处,scatter 函数的“filled”选项填充圆圈。此选项可与我们在上述语法中描述的任何输入参数组合一起使用。
scatter(___,mkr) - 语法允许您指定散点图的标记类型。
scatter(tbl,xvar,yvar) - 函数绘制表格 tbl 中的变量 xvar 和 yvar。要绘制单个数据集,请选择一个变量作为 xvar,另一个变量作为 yvar。对于多个数据集,为 xvar、yvar 或两者都选择多个变量。如果两个参数都包含多个变量,则它们必须具有相同的长度。
scatter(tbl,xvar,yvar,"filled") - 将绘制表格中指定的变量,并使用填充圆圈。
散点图绘制示例
让我们看看根据上面讨论的语法绘制散点图的示例。
示例 1:使用 scatter(x,y)
上述语法的代码如下:
x = rand(1, 100); y = rand(1, 100); scatter(x, y);
在此示例中,x 和 y 是随机值的向量,每个向量包含 100 个元素。scatter(x, y) 函数使用这些值创建一个散点图,其中每个点都由一个圆形标记表示。
当您在 matlab 命令窗口中执行相同操作时,输出为:
示例 2:使用 scatter(x,y,sz)
我们对上述语法的代码如下:
x = rand(1, 100); y = rand(1, 100); sz = 50 * rand(1, 100); scatter(x, y, sz);
在此示例中,sz 是一个包含 100 个随机值的向量,这些值表示散点图中圆圈的大小。通过将 sz 指定为 scatter 函数的第三个参数,每个圆圈都将以对应于 sz 向量中对应索引处的值的大小绘制。这使您可以创建一个散点图,其中每个圆圈的大小由一组单独的值确定。
当您在 matlab 命令窗口中执行相同操作时,输出为:
示例 3:使用 scatter(x,y,sz,c)
上述语法的代码如下:
x = rand(1, 100); y = rand(1, 100); sz = 50 * rand(1, 100); c = rand(1, 100); scatter(x, y, sz, c);
在此示例中,c 是一个包含 100 个随机值的向量,这些值表示散点图中圆圈的颜色。通过将 c 指定为 scatter 函数的第四个参数,每个圆圈都将以对应于 c 向量中对应索引处的值的颜色绘制。
示例 4:使用 scatter(___,"filled")
上述语法的代码为:
x = rand(1, 100); y = rand(1, 100); scatter(x, y, 'filled');
在此示例中,“filled”选项与 scatter 函数一起使用以填充散点图中的圆圈。此选项可与之前描述的任何输入参数组合一起使用,允许您自定义图形的外观,同时填充圆圈。
当您在 matlab 命令窗口中执行代码时,输出为:
示例 5:使用 scatter(___,mkr)
上述语法的代码为:
x = rand(1, 100); y = rand(1, 100); scatter(x, y, 'd');
在此示例中,“d”参数用作 scatter 函数的标记类型,它指定应为散点图中的每个数据点使用菱形标记。您可以将“d”替换为其他标记类型,例如“o”表示圆形、“s”表示正方形、“+”表示加号等,以自定义图形中标记的外观。
当您在 matlab 命令窗口中执行代码时,输出为:
示例 6:使用 scatter(tbl,xvar,yvar)
上述语法的代码为:
data = rand(10, 2); tbl = array2table(data, 'VariableNames', {'x', 'y'}); scatter(tbl, 'x', 'y');
在此示例中,tbl 是一个包含两个变量 x 和 y 的表格。行 tbl = array2table(data, 'VariableNames', {'x', 'y'}); 将数据数组转换为一个名为“x”和“y”的两个变量的表格 tbl。scatter(tbl, 'x', 'y') 函数用于创建这些变量的散点图。
当您在 matlab 命令窗口中执行代码时,输出为:
示例 7:使用 scatter(tbl,xvar,yvar,"filled")
上述语法的代码为:
data = rand(10, 2); tbl = array2table(data, 'VariableNames', {'x', 'y'}); scatter(tbl, 'x', 'y', 'filled');
在此示例中,tbl 是一个包含两个变量 x 和 y 的表格。scatter(tbl, 'x', 'y', 'filled') 函数用于创建这些变量的散点图,并使用填充圆圈。“filled”参数指定散点图中的标记应填充。
当您在 matlab 命令窗口中执行相同操作时,输出为:
按组绘制散点图
按组绘制散点图是指根据分类变量对数据点进行分组或着色的散点图。这种类型的图形有助于可视化两个连续变量之间的关系,同时还显示数据如何划分为不同的组。每组在散点图中都由不同的颜色或标记样式表示,从而更容易比较组并识别任何模式或趋势。
在 MATLAB 中,可以使用 gscatter() 函数创建按组绘制的散点图。此函数允许您在散点图中绘制多个数据点组,每组都由不同的颜色或标记样式表示。
语法
gscatter(x,y,g) gscatter(x,y,g,clr,sym,siz) gscatter(x,y,g,clr,sym,siz,doleg) gscatter(x,y,g,clr,sym,siz,doleg,xnam,ynam)
语法的详细解释如下:
gscatter(x,y,g) - 函数生成一个散点图,其中由 x 和 y 表示的数据点根据 g 中的值进行分组。x 和 y 都应为长度相同的向量。
gscatter(x,y,g,clr,sym,siz) - 函数允许您自定义散点图中每组的标记颜色 (clr)、符号 (sym) 和大小 (siz)。
gscatter(x,y,g,clr,sym,siz,doleg) − 该函数用于确定图形上是否显示图例。默认情况下,gscatter 会创建图例。
gscatter(x,y,g,clr,sym,siz,doleg,xnam,ynam) − 该函数允许您为 x 轴 (xnam) 和 y 轴 (ynam) 指定标签。如果您不提供 xnam 和 ynam,并且 x 和 y 输入是具有名称的变量,则 gscatter 将使用这些变量名称作为轴标签。
让我们看看上面讨论的每种语法的示例。
示例 1:使用 gscatter(x,y,g)
上述语法的代码如下:
x = randn(100, 1); y = randn(100, 1); g = randi([1, 3], 100, 1); gscatter(x, y, g);
在此示例中,gscatter 用于创建 x 与 y 的散点图,其中数据点根据 g 中的值进行分组。每个组由不同的颜色表示,并在图中添加图例以指示哪种颜色对应于哪个组。
当您在 matlab 命令窗口中执行相同操作时,输出为:
示例 2:使用 gscatter(x,y,g,clr,sym,siz)
上述语法的代码为:
x = randn(100, 1); y = randn(100, 1); g = randi([1, 3], 100, 1); clr = ['r', 'g', 'b']; sym = ['o', 's', 'd']; siz = [20, 30, 40]; gscatter(x, y, g, clr, sym, siz);
在此示例中,gscatter 用于创建 x 与 y 的散点图,其中数据点根据 g 中的值进行分组。clr、sym 和 siz 向量为每个组定义自定义标记属性(颜色、符号和大小)。散点图将使用指定的颜色、标记符号和标记大小显示每个组。
执行代码后,输出为 −
示例 3:使用 gscatter(x,y,g,clr,sym,siz,doleg)
上述语法的代码为:
x = randn(100, 1); y = randn(100, 1); g = randi([1, 3], 100, 1); clr = ['r', 'g', 'b']; sym = ['o', 's', 'd']; siz = [20, 30, 40]; gscatter(x, y, g, clr, sym, siz, 'off');
在此示例中,gscatter 用于创建 x 与 y 的散点图,其中数据点根据 g 中的值进行分组。clr、sym 和 siz 向量为每个组定义自定义标记属性(颜色、符号和大小)。doleg 的“off”参数指定图中不应显示图例。
当您在 matlab 命令窗口中执行相同操作时,输出为:
示例 4:使用 gscatter(x,y,g,clr,sym,siz,doleg,xnam,ynam)
上述语法的代码为:
x = randn(100, 1); y = randn(100, 1); g = randi([1, 3], 100, 1); clr = ['r', 'g', 'b']; sym = ['o', 's', 'd']; siz = [20, 30, 40]; xnam = 'X-axis Label'; ynam = 'Y-axis Label'; gscatter(x, y, g, clr, sym, siz, 'on', xnam, ynam);
在此示例中,gscatter 用于创建 x 与 y 的散点图,其中数据点根据 g 中的值进行分组。clr、sym 和 siz 向量为每个组定义自定义标记属性(颜色、符号和大小)。doleg 的“on”参数指定图中应显示图例。xnam 和 ynam 参数分别指定 x 轴和 y 轴的自定义标签。如果您不提供 xnam 和 ynam,并且 x 和 y 输入是具有名称的变量,则 gscatter 将使用这些变量名称作为轴标签。
当您在 matlab 命令窗口中执行代码时,输出为: