MATLAB scatter3()用法详解(附带实例)
在 MATLAB 中,利用函数 scatter3() 可以绘制三维散点图,其调用格式如下。
1) 向量和矩阵数据:
2) 表数据:
【实例】绘制三维散点图(向量和矩阵数据)。在编辑器中编写以下程序并运行:

图 1 三维散点图(向量和矩阵数据)
【实例】绘制三维散点图(表数据)。在编辑器中编写以下程序并运行:

图 2 三维散点图(表数据)
1) 向量和矩阵数据:
scatter3(X,Y,Z) % 在向量 X、Y 和 Z 指定的位置显示圆圈 scatter3(X,Y,Z,S) % 按 S 指定的大小绘制圆。若 S 为标量,则绘制大小相等的圆 % 若 S 为向量,则绘制特定大小的圆 scatter3(X,Y,Z,S,C) % 使用 C 指定的颜色绘制圆 % 若 C 是 RGB 三元组、包含颜色名称的字符向量或字符串,则使用指定的颜色 % 若 C 是一个三列矩阵,则 C 的每行指定相应圆的 RGB 颜色值 % 若 C 是向量,则 C 中的值线性映射到当前颜色图中的颜色 scatter3(...,'filled') % 使用前面语法中的任何输入参数组合填充这些圆 scatter3(...,markertype) % 指定标记类型
2) 表数据:
scatter3(tbl,xvar,yvar,zvar) % 绘制表 tbl 中的变量 xvar、yvar 和 zvar % 要绘制一个数据集,请为 xvar、yvar 和 zvar 各指定一个变量 % 要绘制多个数据集,请为上述 3 个参数中至少一个参数指定多个变量 scatter3(tbl,xvar,yvar,zvar,'filled') % 用实心圆绘制表中指定变量
【实例】绘制三维散点图(向量和矩阵数据)。在编辑器中编写以下程序并运行:
[X,Y,Z] = sphere(16); % 使用 sphere 定义向量 X、Y 和 Z X = [0.5*X(:); 0.75*X(:); X(:)]; Y = [0.5*Y(:); 0.75*Y(:); Y(:)]; Z = [0.5*Z(:); 0.75*Z(:); Z(:)]; subplot(1,2,1) scatter3(X,Y,Z) subplot(1,2,2) S = repmat([50 25 5],numel(X),1); C = repmat([1 2 3],numel(X),1); S = S(:); % 定义向量 S 指定每个标记的大小 C = C(:); % 定义向量 C 指定每个标记的颜色 scatter3(X,Y,Z,S,C) view(40,35) % 使用 view 更改图窗中坐标区的角度运行程序后,输出如下图所示的图形:

图 1 三维散点图(向量和矩阵数据)
【实例】绘制三维散点图(表数据)。在编辑器中编写以下程序并运行:
tbl = readtable('patients.xls'); subplot(1,2,1) scatter3(tbl,'Systolic','Diastolic','Weight'); subplot(1,2,2) scatter3(tbl,{'Systolic','Diastolic'},'Age','Weight') legend运行程序后,输出如下图所示图形:

图 2 三维散点图(表数据)