scatter3
三维散点图

语法
说明
向量和矩阵数据
scatter3(___,
指定标记类型。markertype
)
表数据
其他选项
scatter3(___,
通过使用一个或多个名称-值参量设置属性来修改散点图。例如:Name,Value
)
scatter3(x,y,z,'LineWidth',2)
创建一个标记轮廓为两磅的散点图。scatter3(tbl,'MyX','MyY','MyZ','ColorVariable','MyColors')
根据表中的数据创建一个散点图,并使用表中的数据自定义标记颜色。
有关属性的完整列表,请参阅 Scatter 属性。
示例
创建三维散点图。使用 sphere
定义向量 x
、y
和 z
。
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
定义向量 x
、y
和 z
。
[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)
x
、y
、z
和 s
中的相应项确定每个标记的位置和大小。
使用 sphere
定义向量 x
、y
和 z
。
[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
和 c
以指定每个标记的大小和颜色。
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)
x
、y
、z
和 c
中的相应项确定每个标记的位置和颜色。
将向量 x
和 y
创建为带随机干扰的余弦和正弦值。
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
的输出可重复。将向量 x
和 y
定义为带随机干扰的余弦和正弦值。
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
的输出可重复。将向量 x
和 y
定义为带随机干扰的余弦和正弦值。
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)
自 R2021b 起
绘制表中数据的一种便捷方法是将表传递给 scatter3
函数,并指定要绘制的变量。例如,将 patients.xls
以表 tbl
形式读取。通过将 tbl
作为第一个参量传递给 scatter3
函数,后跟变量名称,绘制 Systolic
、Diastolic
和 Weight
变量之间的关系。默认情况下,轴标签与变量名称匹配。
tbl = readtable('patients.xls'); scatter3(tbl,'Systolic','Diastolic','Weight');
您也可以同时绘制多个变量。例如,通过将 xvar
参量指定为元胞数组 {'Systolic','Diastolic'}
,在同一 x 轴上绘制两个血压变量。然后,添加一个图例。图例标签与变量名称匹配。
scatter3(tbl,{'Systolic','Diastolic'},'Age','Weight'); legend
自 R2021b 起
绘制表中数据并自定义颜色和标记大小的一种方法是设置 ColorVariable
和 SizeData
属性。您可以在调用 scatter3
函数时将这些属性设置为名称-值参量,也可以稍后在 Scatter
对象上设置它们。
例如,将 patients.xls
以表 tbl
形式读取。用填充标记绘制 Systolic
、Diastolic
和 Weight
变量之间的关系。通过指定 ColorVariable
名称-值参量来更改标记颜色。将 Scatter
对象返回为 s
,以便以后可以设置其他属性。
tbl = readtable('patients.xls'); s = scatter3(tbl,'Systolic','Diastolic','Weight','filled', ... 'ColorVariable','Diastolic');
通过设置 SizeData
属性,将标记大小更改为 100 磅。然后添加颜色栏。
s.SizeData = 100; colorbar
您可以使用 tiledlayout
和 nexttile
函数显示分块图。
加载 seamount
数据集以获取向量 x
、y
和 z
。调用 tiledlayout
函数以创建一个 2×1 分块图布局。调用 nexttile
函数以创建坐标区对象 ax1
和 ax2
。然后通过将坐标区对象指定为 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
函数创建向量 x
、y
和 z
。
[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
和 c
以指定每个标记的大小和颜色。
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 三元组颜色值设置标记面颜色。使用圆点表示法设置属性。
h.MarkerFaceColor = [0 0.5 0.5];
输入参数
x 坐标,指定为标量、向量或矩阵。X
的大小和形状取决于数据的形状。下表说明了最常见的情况。
绘图类型 | 如何指定坐标 |
---|---|
单点 | 将 scatter3(1,2,3) |
一组点 | 指定 X = [1 2 3 4]; Y = [5; 6; 7; 8]; Z = [9 10 11 12]; scatter3(X,Y,Z) |
不同颜色的多组点 | 如果所有数据集在一个或多个维度上共用坐标,请将共用坐标指定为向量,将其他坐标指定为矩阵。该向量的长度必须与这些矩阵的维度之一相匹配。例如,绘制两个共享同一 x 坐标的数据集。 X = [1 2 3 4]; Y = [4 5 6 7; 8 9 10 11]; Z = [10 11 12 13; 14 15 16 17]; scatter3(X,Y,Z) scatter3 会为矩阵中的每列绘制一组单独的点。也可以指定 X = [1 3 5 6; 2 4 6 8]; Y = [10 25 45 61; 20 40 60 70]; Z = [12 5 6 8; 9 13 2 7]; scatter3(X,Y,Z) |
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| categorical
| datetime
| duration
y 坐标,指定为标量、向量或矩阵。y
的大小和形状取决于数据的形状。下表说明了最常见的情况。
绘图类型 | 如何指定坐标 |
---|---|
单点 | 将 scatter3(1,2,3) |
一组点 | 指定 X = [1 2 3 4]; Y = [5; 6; 7; 8]; Z = [9 10 11 12]; scatter3(X,Y,Z) |
不同颜色的多组点 | 如果所有数据集在一个或多个维度上共用坐标,请将共用坐标指定为向量,将其他坐标指定为矩阵。该向量的长度必须与这些矩阵的维度之一相匹配。例如,绘制两个共享同一 x 坐标的数据集。 X = [1 2 3 4]; Y = [4 5 6 7; 8 9 10 11]; Z = [10 11 12 13; 14 15 16 17]; scatter3(X,Y,Z) scatter3 会为矩阵中的每列绘制一组单独的点。也可以指定 X = [1 3 5 6; 2 4 6 8]; Y = [10 25 45 61; 20 40 60 70]; Z = [12 5 6 8; 9 13 2 7]; scatter3(X,Y,Z) |
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| categorical
| datetime
| duration
z 坐标,指定为标量、向量或矩阵。Z
的大小和形状取决于数据的形状。下表说明了最常见的情况。
绘图类型 | 如何指定坐标 |
---|---|
单点 | 将 scatter3(1,2,3) |
一组点 | 指定 X = [1 2 3 4]; Y = [5; 6; 7; 8]; Z = [9 10 11 12]; scatter3(X,Y,Z) |
不同颜色的多组点 | 如果所有数据集在一个或多个维度上共用坐标,请将共用坐标指定为向量,将其他坐标指定为矩阵。该向量的长度必须与这些矩阵的维度之一相匹配。例如,绘制两个共享同一 x 坐标的数据集。 X = [1 2 3 4]; Y = [4 5 6 7; 8 9 10 11]; Z = [10 11 12 13; 14 15 16 17]; scatter3(X,Y,Z) scatter3 会为矩阵中的每列绘制一组单独的点。也可以指定 X = [1 3 5 6; 2 4 6 8]; Y = [10 25 45 61; 20 40 60 70]; Z = [12 5 6 8; 9 13 2 7]; scatter3(X,Y,Z) |
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| categorical
| datetime
| duration
标记大小,指定为数值标量、向量、矩阵或空数组 ([]
)。大小控制每个标记的区域(以平方磅为单位)。空数组指定 36 磅的默认大小。指定大小的方式取决于您如何指定 X
、Y
和 Z
,以及您所需的绘图外观。下表说明了最常见的情况。
标记大小 | X 、Y 和 Z | S | 示例 |
---|---|---|---|
所有点的大小均相同 | 标量 | 将 X = [1 2 3 4]; Y = [5 6 7 8; 9 10 11 12]; Z = [13 14 15 16; 17 18 19 20]; scatter3(X,Y,Z,100) | |
每个点的大小不同 | 相同长度的向量 |
| 将 X = [1 2 3 4]; Y = [4 5 6 7]; Z = [8 9 10 11]; S = [80 150 700 50]; scatter3(X,Y,Z,S) 将 X = [1 2 3 4]; Y = [5 6 7 8]; Z = [9 10 11 12]; S = [80 30; 150 900; 50 500; 200 350]; scatter3(X,Y,Z,S) |
每个点的大小不同 |
|
| 将 X = [1 2 3 4]; Y = [1 6; 3 8; 2 7; 4 9]; Z = [2 8; 3 10; 4 7; 4 12]; S = [80 150 200 350]; scatter3(X,Y,Z,S) 将 X = [1 2 3 4]; Y = [1 6; 3 8; 2 7; 4 9]; Z = [10 11; 12 13; 14 15; 16 17]; S = [80 30; 150 900; 50 2000; 200 350]; scatter3(X,Y,Z,S) |
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
标记颜色,指定为颜色名称、RGB 三元组、RGB 三元组矩阵或由颜色图索引组成的向量。
颜色名称 - 颜色名称(如
"red"
)或短名称(如"r"
)。RGB 三元组 - 三元素行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于
[0,1]
范围内,例如[0.4 0.6 0.7]
。RGB 三元组对于创建自定义颜色很有用。RGB 三元组矩阵 - 三列矩阵,其中的每一行均为一个 RGB 三元组。
由颜色图索引组成的向量 - 数值向量,其长度与
X
、Y
和Z
向量相同。
指定颜色的方式取决于所需的颜色方案以及是绘制一组坐标还是多组坐标。下表说明了最常见的情况。
颜色方案 | 指定颜色的方式 | 示例 |
---|---|---|
对所有点使用一种颜色。 | 从下表中指定一种颜色名称或短名称,或指定一个 RGB 三元组。 | 绘制一组点,并将颜色指定为 X = [1 2 3 4];
Y = [2 5 3 6];
Z = [10 6 4 7];
S = 50;
scatter3(X,Y,Z,S,"red") 绘制两组点,并使用 RGB 三元组 X = [1 2 3 4]; Y = [2 5 3 6]; Z = [2 5; 1 2; 8 4; 7 9]; S = 50; scatter3(X,Y,Z,S,[1 0 0]) |
使用颜色图为每个点指定不同颜色。 | 指定一个由数字组成的行向量或列向量。这些数字映射到当前颜色图数组中。最小值映射到颜色图中的第一行,最大值映射到最后一行。中间值线性映射到中间行。 如果您的绘图有三个点,请指定一个列向量,以确保这些值被解释为颜色图索引。 仅当 | 创建一个向量 C = [1 2 3 4];
X = [1 2 3 4];
Y = [1 0 6 2];
Z = [2 5 3 7];
S = 50;
scatter3(X,Y,Z,S,C)
colormap(gca,"winter") |
为每个点创建一种自定义颜色。 | 指定一个由 RGB 三元组组成的 m×3 矩阵,其中 m 是图中的点数。 仅当 | 创建一个矩阵 C = [0 1 0; 1 0 0; 0.5 0.5 0.5; 0.6 0 1]; X = [1 2 3 4]; Y = [2 5 3 6]; Z = [10 6 4 7]; S = 50; scatter3(X,Y,Z,S,C) |
为每个数据集创建一种不同颜色。 | 指定一个由 RGB 三元组组成的 n×3 矩阵,其中 n 为数据集个数。 仅当 | 创建一个包含两个 RGB 三元组的矩阵 C = [1 0 0; 0.6 0 1]; X = [1 2 3 4]; Y = [5 6 7 8]; Z = [2 5; 1 2; 8 4; 11 9]; S = 50; scatter3(X,Y,Z,S,C) |
常见颜色的颜色名称和 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" |
下表列出了浅色和深色主题中绘图的默认调色板。
调色板 | 调色板颜色 |
---|---|
在 R2025a 之前的版本中: 大多数绘图默认使用这些颜色。 |
|
|
|
您可以使用 orderedcolors
和 rgb2hex
函数获取这些调色板的 RGB 三元组和十六进制颜色代码。例如,获取 "gem"
调色板的 RGB 三元组并将其转换为十六进制颜色代码。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);
在 R2023b 之前的版本中: 使用 RGB = get(groot,"FactoryAxesColorOrder")
获取 RGB 三元组。
在 R2024a 之前的版本中: 使用 H = compose("#%02X%02X%02X",round(RGB*255))
获取十六进制颜色代码。
标记,指定为下表中的标记之一。
标记 | 描述 | 生成的标记 |
---|---|---|
"o" | 圆圈 |
|
"+" | 加号 |
|
"*" | 星号 |
|
"." | 点 |
|
"x" | 叉号 |
|
"_" | 水平线条 |
|
"|" | 垂直线条 |
|
"square" | 方形 |
|
"diamond" | 菱形 |
|
"^" | 上三角 |
|
"v" | 下三角 |
|
">" | 右三角 |
|
"<" | 左三角 |
|
"pentagram" | 五角形 |
|
"hexagram" | 六角形 |
|
"none" | 无标记 | 不适用 |
用于填充标记内部的选项,指定为 'filled'
。此选项和具有一个面的标记(例如,'o'
或 'square'
)一起使用。没有面而只有边的标记无法填充,如 '+'
、'*'
、'.'
和 'x'
。
'filled'
选项将 Scatter
对象的 MarkerFaceColor
属性设置为 'flat'
,并将 MarkerEdgeColor
属性设置为 'none'
,这样便可只填充标记的面,而不绘制边。
包含要绘制的数据的源表,指定为表或时间表。
包含 x 坐标的表变量,指定为一个或多个表变量索引。
指定表索引
使用以下任一索引方案指定所需的一个或多个变量。
索引方案 | 示例 |
---|---|
变量名称:
|
|
变量索引:
|
|
变量类型:
|
|
绘制您的数据
您指定的表变量可以包含数值、分类、日期时间或持续时间值。
要绘制一个数据集,请为 xvar
指定一个变量,为 yvar
指定一个变量,为 zvar
指定一个变量。例如,将 Patients.xls
读入表 tbl
中。绘制 Height
、Weight
和 Diastolic
变量。
tbl = readtable("Patients.xls"); scatter3(tbl,"Height","Weight","Diastolic")
要一起绘制多个数据集,请为 xvar
、yvar
或 zvar
中的至少一个指定多个变量。如果为多个参量指定多个变量,则为每个参量指定的变量数目必须相同。
例如,在 x 轴上绘制 Weight
变量,在 y 轴上绘制 Systolic
和 Diastolic
变量,在 z 轴上绘制 Age
变量。
scatter3(tbl,"Weight",["Systolic","Diastolic"],"Age")
您还可以对 xvar
、yvar
和 zvar
使用不同索引方案。例如,将 xvar
指定为变量名称,将 yvar
指定为索引编号,将 zvar
指定为逻辑向量。
scatter3(tbl,"Height",6,[false false true])
包含 y 坐标的表变量,指定为一个或多个表变量索引。
指定表索引
使用以下任一索引方案指定所需的一个或多个变量。
索引方案 | 示例 |
---|---|
变量名称:
|
|
变量索引:
|
|
变量类型:
|
|
绘制您的数据
您指定的表变量可以包含数值、分类、日期时间或持续时间值。
要绘制一个数据集,请为 xvar
指定一个变量,为 yvar
指定一个变量,为 zvar
指定一个变量。例如,将 Patients.xls
读入表 tbl
中。绘制 Height
、Weight
和 Diastolic
变量。
tbl = readtable("Patients.xls"); scatter3(tbl,"Height","Weight","Diastolic")
要一起绘制多个数据集,请为 xvar
、yvar
或 zvar
中的至少一个指定多个变量。如果为多个参量指定多个变量,则为每个参量指定的变量数目必须相同。
例如,在 x 轴上绘制 Weight
变量,在 y 轴上绘制 Systolic
和 Diastolic
变量,在 z 轴上绘制 Age
变量。
scatter3(tbl,"Weight",["Systolic","Diastolic"],"Age")
您还可以对 xvar
、yvar
和 zvar
使用不同索引方案。例如,将 xvar
指定为变量名称,将 yvar
指定为索引编号,将 zvar
指定为逻辑向量。
scatter3(tbl,"Height",6,[false false true])
包含 z 坐标的表变量,指定为一个或多个表变量索引。
指定表索引
使用以下任一索引方案指定所需的一个或多个变量。
索引方案 | 示例 |
---|---|
变量名称:
|
|
变量索引:
|
|
变量类型:
|
|
绘制您的数据
您指定的表变量可以包含数值、分类、日期时间或持续时间值。
要绘制一个数据集,请为 xvar
指定一个变量,为 yvar
指定一个变量,为 zvar
指定一个变量。例如,将 Patients.xls
读入表 tbl
中。绘制 Height
、Weight
和 Diastolic
变量。
tbl = readtable("Patients.xls"); scatter3(tbl,"Height","Weight","Diastolic")
要一起绘制多个数据集,请为 xvar
、yvar
或 zvar
中的至少一个指定多个变量。如果为多个参量指定多个变量,则为每个参量指定的变量数目必须相同。
例如,在 x 轴上绘制 Weight
变量,在 y 轴上绘制 Systolic
和 Diastolic
变量,在 z 轴上绘制 Age
变量。
scatter3(tbl,"Weight",["Systolic","Diastolic"],"Age")
您还可以对 xvar
、yvar
和 zvar
使用不同索引方案。例如,将 xvar
指定为变量名称,将 yvar
指定为索引编号,将 zvar
指定为逻辑向量。
scatter3(tbl,"Height",6,[false false true])
坐标区对象。如果未指定坐标区,则 scatter3
在当前坐标区中绘图。
名称-值参数
以 Name1=Value1,...,NameN=ValueN
的形式指定可选参量对组,其中 Name
是参量名称,Value
是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name
引起来。
示例: 'MarkerFaceColor','red'
将标记面颜色设置为红色。
此处所列的属性只是一部分。有关完整列表,请参阅 Scatter 属性。
标记边的宽度,指定为一个正值(以磅为单位)。
示例: 0.75
标记轮廓颜色,指定为 "flat"
、RGB 三元组、十六进制颜色代码、颜色名称或短名称。默认值 "flat"
将使用 CData
属性中的颜色。
对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于
[0,1]
范围内,例如[0.4 0.6 0.7]
。十六进制颜色代码是字符串标量或字符向量,以井号 (
#
) 开头,后跟三个或六个十六进制数字,范围可以是0
到F
。这些值不区分大小写。因此,颜色代码"#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" | 不适用 | 不适用 | 不适用 | 无颜色 |
下表列出了浅色和深色主题中绘图的默认调色板。
调色板 | 调色板颜色 |
---|---|
在 R2025a 之前的版本中: 大多数绘图默认使用这些颜色。 |
|
|
|
您可以使用 orderedcolors
和 rgb2hex
函数获取这些调色板的 RGB 三元组和十六进制颜色代码。例如,获取 "gem"
调色板的 RGB 三元组并将其转换为十六进制颜色代码。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);
在 R2023b 之前的版本中: 使用 RGB = get(groot,"FactoryAxesColorOrder")
获取 RGB 三元组。
在 R2024a 之前的版本中: 使用 H = compose("#%02X%02X%02X",round(RGB*255))
获取十六进制颜色代码。
示例: [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]
。十六进制颜色代码是字符串标量或字符向量,以井号 (
#
) 开头,后跟三个或六个十六进制数字,范围可以是0
到F
。这些值不区分大小写。因此,颜色代码"#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" | 不适用 | 不适用 | 不适用 | 无颜色 |
下表列出了浅色和深色主题中绘图的默认调色板。
调色板 | 调色板颜色 |
---|---|
在 R2025a 之前的版本中: 大多数绘图默认使用这些颜色。 |
|
|
|
您可以使用 orderedcolors
和 rgb2hex
函数获取这些调色板的 RGB 三元组和十六进制颜色代码。例如,获取 "gem"
调色板的 RGB 三元组并将其转换为十六进制颜色代码。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);
在 R2023b 之前的版本中: 使用 RGB = get(groot,"FactoryAxesColorOrder")
获取 RGB 三元组。
在 R2024a 之前的版本中: 使用 H = compose("#%02X%02X%02X",round(RGB*255))
获取十六进制颜色代码。
示例: [0.3 0.2 0.1]
示例: "green"
示例: "#D2F9A7"
包含颜色数据的表变量,指定为源表的变量索引。
指定表索引
使用以下任一索引方案指定所需的变量。
索引方案 | 示例 |
---|---|
变量名称:
|
|
变量索引:
|
|
变量类型:
|
|
指定颜色数据
指定 ColorVariable
属性控制标记的颜色。当 MarkerFaceColor
属性设置为 "flat"
时,变量中的数据控制标记填充颜色。当 MarkerEdgeColor
设置为 "flat"
时,数据还可以控制标记轮廓颜色。
您指定的表变量可以包含任何数值类型的值。这些值可以是以下形式之一:
线性映射到当前颜色图中的一列数字。
由 RGB 三元组组成的一个三列数组。RGB 三元组是包含三个元素的向量,其元素值指定特定颜色的红、绿和蓝分量的强度。强度必须处于范围
[0,1]
中。例如,[0.5 0.7 1]
指定浅蓝色。
当您设置 ColorVariable
属性时,MATLAB® 会更新 CData
属性。
输出参量
Scatter
对象。这是一个唯一标识符,可用于在创建 Scatter
对象后查询和修改其属性。
扩展功能
scatter3
函数支持 GPU 数组输入,但有以下用法说明和限制:
此函数接受 GPU 数组,但不在 GPU 上运行。
有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出当您将表和一个或多个变量名称传递给 scatter3
函数时,轴和图例标签现在会显示表变量名称中包含的任何特殊字符,如下划线。以前,特殊字符会被解释为 TeX 或 LaTeX 字符。
例如,如果将包含名为 Sample_Number
的变量的表传递给 scatter3
函数,则下划线会出现在轴和图例标签中。在 R2022a 及更早版本中,下划线解释为下标。
版本 | 表变量 "Sample_Number" 的标签 |
---|---|
R2022b |
|
R2022a |
|
要显示具有 TeX 或 LaTeX 格式的轴和图例标签,请手动指定标签。例如,在绘制后,使用所需的标签字符串调用 xlabel
或 legend
函数。
xlabel("Sample_Number") legend(["Sample_Number" "Another_Legend_Label"])
scatter3
函数现在接受向量和矩阵的组合作为坐标。因此,您可以一次性可视化多个数据集,而不用再在各绘图命令之间使用 hold
函数。
通过将表传递给 scatter3
函数并后跟要绘制的变量来创建图。当您将数据指定为表时,会自动使用表变量名称对轴标签和图例(如果有)进行标注。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)