本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

scatter3

三维散点图

说明

示例

scatter3(X,Y,Z) 在向量 XYZ 指定的位置显示圆圈。

示例

scatter3(X,Y,Z,S) 使用 S 指定的大小绘制每个圆圈。要绘制大小相等的圆圈,请将 S 指定为标量。要绘制具有特定大小的每个圆,请将 S 指定为向量。

示例

scatter3(X,Y,Z,S,C) 使用 C 指定的颜色绘制每个圆圈。

  • 如果 C 是 RGB 三元组,或者是包含颜色名称的字符向量或字符串,则使用指定的颜色绘制所有圆圈。

  • 如果 C 是一个三列矩阵,其中 C 中的行数等于 XYZ 的长度,则 C 的每行指定相应圆圈的 RGB 颜色值。

  • 如果 C 是长度与 XYZ 的长度相同的向量,则 C 中的值线性映射到当前颜色图中的颜色。

示例

scatter3(___,'filled') 使用前面的语法中的任何输入参数组合填充这些圆。

示例

scatter3(___,markertype) 指定标记类型。

示例

scatter3(___,Name,Value) 使用一个或多个名称-值对组参数修改散点图。

示例

scatter3(ax,___) 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区 (gca) 中。选项 ax 可以位于前面的语法中的任何输入参数组合之前。

示例

h = scatter3(___) 返回 Scatter 对象。在创建散点图后,可使用 h 修改其属性。

示例

全部折叠

创建三维散点图。使用 sphere 定义向量 xyz

figure
[X,Y,Z] = sphere(16);
x = [0.5*X(:); 0.75*X(:); X(:)];
y = [0.5*Y(:); 0.75*Y(:); Y(:)];
z = [0.5*Z(:); 0.75*Z(:); Z(:)];
scatter3(x,y,z)

使用 sphere 定义向量 xyz

[X,Y,Z] = sphere(16);
x = [0.5*X(:); 0.75*X(:); X(:)];
y = [0.5*Y(:); 0.75*Y(:); Y(:)];
z = [0.5*Z(:); 0.75*Z(:); Z(:)];

定义向量 s 可指定标记大小。

S = repmat([100,50,5],numel(X),1);
s = S(:);

创建一个三维散点图并使用 view 更改图窗中坐标区的角度。

figure
scatter3(x,y,z,s)
view(40,35)

xyzs 中的相应项确定每个标记的位置和大小。

使用 sphere 定义向量 xyz

[X,Y,Z] = sphere(16);
x = [0.5*X(:); 0.75*X(:); X(:)];
y = [0.5*Y(:); 0.75*Y(:); Y(:)];
z = [0.5*Z(:); 0.75*Z(:); Z(:)];

定义向量 sc 以指定每个标记的大小和颜色。

S = repmat([50,25,10],numel(X),1);
C = repmat([1,2,3],numel(X),1);
s = S(:);
c = C(:);

创建一个三维散点图并使用 view 更改图窗中坐标区的角度。

figure
scatter3(x,y,z,s,c)
view(40,35)

xyzc 中的相应项确定每个标记的位置和颜色。

将向量 xy 创建为带随机干扰的余弦和正弦值。

z = linspace(0,4*pi,250);
x = 2*cos(z) + rand(1,250);
y = 2*sin(z) + rand(1,250);

创建一个三维散点图并填充标记。使用 view 可更改图窗中坐标区的角度。

scatter3(x,y,z,'filled')
view(-30,10)

初始化随机数生成器以使 rand 的输出可重复。将向量 xy 定义为带随机干扰的余弦和正弦值。

rng default
z = linspace(0,4*pi,250);
x = 2*cos(z) + rand(1,250);
y = 2*sin(z) + rand(1,250);

创建一个三维散点图并设置标记类型。使用 view 可更改图窗中坐标区的角度。

figure
scatter3(x,y,z,'*')
view(-30,10)

初始化随机数生成器以使 rand 的输出可重复。将向量 xy 定义为带随机干扰的余弦和正弦值。

rng default
z = linspace(0,4*pi,250);
x = 2*cos(z) + rand(1,250);
y = 2*sin(z) + rand(1,250);

创建一个三维散点图并设置标记边颜色和标记面颜色。使用 view 可更改图窗中坐标区的角度。

figure
scatter3(x,y,z,...
        'MarkerEdgeColor','k',...
        'MarkerFaceColor',[0 .75 .75])
view(-30,10)

从 R2019b 开始,您可以使用 tiledlayoutnexttile 函数显示分块图。

加载 seamount 数据集以获取向量 xyz。调用 tiledlayout 函数以创建一个 2×1 分块图布局。调用 nexttile 函数以创建坐标区对象 ax1ax2。然后通过将坐标区对象指定为 scatter3 的第一个参数,在坐标区中创建单独的散点图。

load seamount
tiledlayout(2,1)
ax1 = nexttile;
ax2 = nexttile;
scatter3(ax1,x,y,z,'MarkerFaceColor',[0 .75 .75])
scatter3(ax2,x,y,z,'*')

使用 sphere 函数创建向量 xyz

[X,Y,Z] = sphere(16);
x = [0.5*X(:); 0.75*X(:); X(:)];
y = [0.5*Y(:); 0.75*Y(:); Y(:)];
z = [0.5*Z(:); 0.75*Z(:); Z(:)];

创建向量 sc 以指定每个标记的大小和颜色。

S = repmat([70,50,20],numel(X),1);
C = repmat([1,2,3],numel(X),1);
s = S(:);
c = C(:);

创建一个三维散点图并返回散点序列对象。

h = scatter3(x,y,z,s,c);

使用 RGB 三元组颜色值设置标记面颜色。从 R2014b 开始,您可以使用圆点表示法设置属性。如果您使用的是早期版本,请改用 set 函数。

h.MarkerFaceColor = [0 0.5 0.5];

输入参数

全部折叠

x 值,指定为向量。XYZ 必须是长度相等的向量。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration

y 值,指定为向量。XYZ 必须是长度相等的向量。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration

z 值,指定为向量。XYZ 必须是长度相等的向量。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration

标记面积,指定为标量、向量或者 []S 中的值必须为正数。面积的单位是平方磅。

  • 如果 S 为标量,则 scatter3 绘制具有指定面积的所有标记。

  • 如果 S 为行或列向量,则 S 中的每个项指定相应标记的面积。S 的长度必须等于 XYZ 的长度。XYZS 中的相应项确定每个标记的位置和面积。

  • 如果 S 为空,将使用默认大小 36 平方磅。

示例: 50

示例: [36,25,25,17,46]

标记颜色,指定为 RGB 三元组、由 RGB 三元组组成的三列矩阵、向量或者下表中的颜色选项之一。

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]

如果散点图中有三个点,并且您希望这些颜色成为颜色图的索引,请以三元素列向量的形式指定 C

示例: 'y'

示例: [1,2,3,4]

标记,指定为下表中的标记之一。

说明
'o'圆圈
'+'加号
'*'星号
'.'
'x'叉号
'square''s'方形
'diamond''d'菱形
'^'上三角
'v'下三角
'>'右三角
'<'左三角
'pentagram''p'五角星(五角形)
'hexagram''h'六角星(六角形)
'none'无标记

坐标区对象。如果未指定坐标区,则 scatter3 在当前坐标区中绘图。

名称-值对组参数

指定可选的、以逗号分隔的 Name,Value 对组参数。Name 为参数名称,Value 为对应的值。Name 必须放在引号中。您可采用任意顺序指定多个名称-值对组参数,如 Name1,Value1,...,NameN,ValueN 所示。

示例: 'MarkerFaceColor','red' 将标记面颜色设置为红色。

此处所列的属性只是一部分。有关完整列表,请参阅 Scatter 属性

标记边的宽度,指定为一个正值(以磅为单位)。

示例: 0.75

标记轮廓颜色,指定为 'flat'、RGB 三元组、十六进制颜色代码、颜色名称或短名称。默认值 'flat' 将使用 CData 属性中的颜色。

对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。

  • RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]

  • 十六进制颜色代码是字符向量或字符串标量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是 0F。这些值不区分大小写。因此,颜色代码 '#FF8800''#ff8800''#F80''#f80' 是等效的。

此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。

颜色名称短名称RGB 三元组十六进制颜色代码外观
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'不适用不适用不适用无颜色

以下是 MATLAB® 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。

RGB 三元组十六进制颜色代码外观
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

示例: [0.5 0.5 0.5]

示例: 'blue'

示例: '#D2F9A7'

标记填充颜色,指定为 'flat''auto'、RGB 三元组、十六进制颜色代码、颜色名称或短名称。'flat' 选项使用 CData 值。'auto' 选项使用与坐标区的 Color 属性相同的颜色。

对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。

  • RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]

  • 十六进制颜色代码是字符向量或字符串标量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是 0F。这些值不区分大小写。因此,颜色代码 '#FF8800''#ff8800''#F80''#f80' 是等效的。

此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。

颜色名称短名称RGB 三元组十六进制颜色代码外观
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'不适用不适用不适用无颜色

以下是 MATLAB 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。

RGB 三元组十六进制颜色代码外观
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

示例: [0.3 0.2 0.1]

示例: 'green'

示例: '#D2F9A7'

输出参数

全部折叠

Scatter 对象。这是一个唯一标识符,可用于在创建 Scatter 对象后查询和修改其属性。

扩展功能

在 R2006a 之前推出