一、语法
1、scatter3(X,Y,Z)
在向量 X、Y 和 Z 指定的位置显示圆圈。
2、scatter3(X,Y,Z,S)
使用 S 指定的大小绘制每个圆圈。要绘制大小相等的圆圈,请将 S 指定为标量。要绘制具有特定大小的每个圆,请将 S 指定为向量。
3、scatter3(X,Y,Z,S,C)
使用 C 指定的颜色绘制每个圆圈。
如果 C 是 RGB 三元组,或者是包含颜色名称的字符向量或字符串,则使用指定的颜色绘制所有圆圈。
如果 C 是一个三列矩阵,其中 C 中的行数等于 X、Y 和 Z 的长度,则 C 的每行指定相应圆圈的 RGB 颜色值。
如果 C 是长度与 X、Y 和 Z 的长度相同的向量,则 C 中的值线性映射到当前颜色图中的颜色。
4、scatter3(___,, ‘filled’)
使用前面的语法中的任何输入参数组合填充这些圆。
5、scatter3(___,markertype)
指定标记类型。
6、scatter3(___,Name,Value)
使用一个或多个名称-值对组参数修改散点图。
7、scatter3(ax,___)
将图形绘制到 ax 指定的坐标区中,而不是当前坐标区 (gca) 中。选项 ax 可以位于前面的语法中的任何输入参数组合之前。
8、h = scatter3(___)
返回 Scatter 对象。在创建散点图后,可使用 h 修改其属性。
二、示例
1、创建三维散点图
创建三维散点图。使用 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)
2、改变标记大小
使用 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 中的相应项确定每个标记的位置和大小。
3、改变标记颜色
使用 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 中的相应项确定每个标记的位置和颜色。
4、填充标记
将向量 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)
5、设置标记类型
初始化随机数生成器以使 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)
6、设置标记属性
初始化随机数生成器以使 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)
7、指定三维散点图的坐标区
加载 seamount 数据集以获取向量 x、y 和 z。
load seamount
创建一幅含有两个子图的图窗,并在数组 hs 中返回两个坐标区句柄。在每个子图中,创建一个三维散点图。指定每个散点图的标记属性。
figure
hs(1) = subplot(2,1,1);
hs(2) = subplot(2,1,2);
scatter3(hs(1),x,y,z,'MarkerFaceColor',[0 .75 .75])
scatter3(hs(2),x,y,z,'*')
8、使用句柄设置散点序列属性
使用 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 三元组颜色值设置标记面颜色。从 R2014b 开始,您可以使用圆点表示法设置属性。如果您使用的是早期版本,请改用 set 函数。
h.MarkerFaceColor = [0 0.5 0.5];