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 设置圆圈颜色

标记颜色,指定为下列形式之一:

  1. RGB 三元组或颜色名称 - 使用相同的颜色绘制所有标记。
  2. 由 RGB 三元组组成的三列矩阵 - 对每个标记使用不同的颜色。矩阵的每行为对应标记指定一种 RGB 三元组颜色。行数必须等于 x 和 y 的长度。
  3. 向量 - 对每个标记使用不同的颜色,并以线性方式将 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')

在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐