Matlab中常使用 scatter函数 绘制散点图。
1. 基本语法
| 语法 | 参数 | 说明 |
|---|---|---|
| scatter(x, y) | x值和y值,指定为向量。x 和 y 必须是长度相等的向量。 | 在向量 x 和 y 指定的位置创建一个包含圆形的散点图。该类型的图形也称为气泡图。 |
| scatter(x, y, sz) | sz -> 标记面积。 36 (默认) 以平方磅为单位的标记面积。 标记面积的单位为平方磅。 | 指定圆大小。要绘制大小相等的圆圈,请将 sz 指定为标量。要绘制大小不等的圆,请将 sz 指定为长度等于 x 和 y 的长度的向量。 |
| scatter(x, y, sz, c) | c -> 标记颜色。 | 指定圆颜色。要以相同的颜色绘制所有圆圈,请将 c 指定为颜色名称或 RGB 三元组。要使用不同的颜色,请将 c 指定为向量或由 RGB 三元组组成的三列矩阵。 |
| scatter(___,‘filled’) | filled -> 用于填充标记内部的选项。 | 填充圆形。可以将 ‘filled’ 选项与前面语法中的任何输入参数组合一起使用。 |
| scatter(___,mkr) | mkr -> 标记类型。 | 指定标记类型。 |
| scatter(___,Name, Value) | Name, Value -> 名称-值对组参数 指定可选的、以逗号分隔的 Name, Value 对组参数。 Name 为参数名称,Value 为对应的值,Name 必须放在引号中。 可采用任意顺序指定多个名称-值对组参数,如Name1, Value1, …, NameN, ValueN 所示。 | 使用一个或多个名称-值对组参数修改散点图。例如,‘LineWidth’, 2 将标记轮廓宽度设置为 2 磅。 |
| scatter(ax,___) | ax -> 目标坐标区,指定为 Axes 对象、PolarAxes 对象或 GeographicAxes 对象。 | 将在 ax 指定的坐标区中,而不是在当前坐标区中绘制图形。选项 ax 可以位于前面的语法中的任何输入参数组合之前。 |
| s = scatter(___) | 返回 scatter 对象。在创建散点图后,以后可使用 s 对其进行修改。 |
2. 示例
2.1 绘制散点图
x = linspace(-2, 2, 100);
y = x .^ 2;
scatter(x, y);

2.2 设置圆圈大小
x = linspace(-2, 2, 100);
y = x .^ 2;
sz = linspace(1, 100, 100);
scatter(x, y, sz);

2.3 设置圆圈颜色
标记颜色,指定为下列形式之一:
- RGB 三元组或颜色名称 - 使用相同的颜色绘制所有标记。
- 由 RGB 三元组组成的三列矩阵 - 对每个标记使用不同的颜色。矩阵的每行为对应标记指定一种 RGB 三元组颜色。行数必须等于 x 和 y 的长度。
- 向量 - 对每个标记使用不同的颜色,并以线性方式将 c 中的值映射到当前颜色图中的颜色。c 的长度必须等于 x 和 y 的长度。要更改坐标区的颜色图,请使用 colormap 函数。
如果散点图中有三个点,并且您希望这些颜色成为颜色图的索引,请以三元素列向量的形式指定 c。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]。此外,还可以按名称指定一些常见的颜色。下表列出长和短颜色名称选项以及对应的 RGB 三元组值。
| 选项 | 说明 | 对应的 RGB 三元组 |
|---|---|---|
| ‘red’ 或 ‘r’ | 红色 | [1 0 0] |
| ‘green’ 或 ‘g’ | 绿色 | [0 1 0] |
| ‘blue’ 或 ‘b’ | 蓝色 | [0 0 1] |
| ‘yellow’ 或 ‘y’ | 黄色 | [1 1 0] |
| ‘magenta’ 或 ‘m’ | 品红色 | [1 0 1] |
| ‘cyan’ 或 ‘c’ | 青蓝色 | [0 1 1] |
| ‘white’ 或 ‘w’ | 白色 | [1 1 1] |
| ‘black’ 或 ‘k’ | 黑色 | [0 0 0] |
x = linspace(-2, 2, 100);
y = x .^ 2;
c = linspace(1,10,length(x));
scatter(x, y, [], c);

2.4 设置填充标记
x = linspace(-2, 2, 100);
y = x .^ 2;
c = linspace(1,10,length(x));
scatter(x, y, [], c, 'filled');

2.5 设置标记符号
标记类型,指定为下表中列出的值之一。
| 值 | 说明 | 值 | 说明 |
|---|---|---|---|
| ‘o’ | 圆圈 | ‘+’ | 加号 |
| ‘*’ | 星号 | ‘.’ | 点 |
| ‘x’ | 叉号 | ‘square’ 或 ‘s’ | 方形 |
| ‘diamond’ 或 ‘d’ | 菱形 | ‘^’ | 上三角 |
| ‘v’ | 下三角 | ‘>’ | 右三角 |
| ‘<’ | 左三角 | ‘pentagram’ 或 ‘p’ | 五角星(五角形) |
| ‘hexagram’ 或 ‘h’ | 六角星(六角形) | ‘none’ | 无标记 |
x = linspace(-2, 2, 100);
y = x .^ 2;
scatter(x, y, '*');

2.6 绘制散点图的子图
x = linspace(-2, 2, 100);
y = x .^ 2;
ax1 = subplot(2, 1, 1);
scatter(ax1, x, y)
ax2 = subplot(2, 1, 2);
scatter(ax2, x, y, 'filled', 'd')

本文详细介绍了如何使用Matlab中的scatter函数绘制散点图,包括基本语法、参数设置及示例,涵盖标记大小、颜色、填充和类型等自定义选项。
&spm=1001.2101.3001.5002&articleId=103933448&d=1&t=3&u=b8a7d4cfe24a4f0bae747fb0685e655a)
4万+

被折叠的 条评论
为什么被折叠?



