MATLAB scatter():创建散点图(附带实例)
散点图是研究两个变量之间关系的工具,在 MATLAB 中,利用函数 scatter() 可以创建散点图,其调用格式如下。
1) 向量和矩阵数据:
2) 表数据:
【实例】创建散点图(向量数据)。在编辑器中编写以下程序并运行:

图 1 散点图(向量数据)
【实例】创建散点图(表数据)。在编辑器中编写以下程序并运行:

图 2 散点图(表数据)
1) 向量和矩阵数据:
scatter(x,y) % 在向量 x 和 y 指定的位置创建一个包含圆形标记的散点图 % 要绘制一组坐标点,请将 x 和 y 指定为等长向量 % 要在同一组坐标区上绘制多组坐标点,请将 x 或 y 中的至少一个指定为矩阵 scatter(x,y,sz) % 指定点(圆)的大小。若 sz 为标量,则所有点(圆)具有相同的大小 % 若 sz 为向量或矩阵,则绘制不同大小的点 scatter(x,y,sz,c) % 指定圆的颜色 scatter(,'filled') % 填充圆 scatter(,mkr) % 指定标记类型
2) 表数据:
scatter(tbl,xvar,yvar) % 绘制表 tbl 中的变量 xvar 和 yvar % 要绘制一个数据集,请为 xvar、yvar 各指定一个变量 % 要绘制多个数据集,请为 xvar、yvar 或两者指定多个变量 scatter(tbl,xvar,yvar,'filled') % 用实心圆绘制表中的指定变量
【实例】创建散点图(向量数据)。在编辑器中编写以下程序并运行:
subplot(2,2,1) x=linspace(0,4*pi,200); % 创建 0~4π 之间的 200 个等间距值 x y=cos(x)+rand(1,200); % 创建带随机干扰的余弦值 y c=linspace(1,10,length(x)); % 指定圆圈的颜色 sz=25; % 指定圆圈标记的大小 scatter(x,y,[],c) subplot(2,2,2) scatter(x,y,sz,c,'filled') subplot(2,2,3) theta=linspace(0,2*pi,100); x=sin(theta)+0.75*rand(1,100); y=cos(theta)+0.75*rand(1,100); sz=40; scatter(x,y,sz,'d',... % 设置标记符号颜色 'MarkerEdgeColor',[0 .5 .5],... % 设置标记面颜色 'MarkerFaceColor',[0 .7 .7],... % 设置线条宽度 'LineWidth',1.5) % 指定标记符号 subplot(2,2,4) x=randn(500,1); y=randn(500,1); s=scatter(x,y,'filled'); % 用填充的标记创建散点图 distfromzero=sqrt(x.^2+y.^2); s.AlphaData=distfromzero; % 根据数据与零的距离设置每个点的不透明度 s.MarkerFaceAlpha='flat';运行程序后,输出如下图所示图形:

图 1 散点图(向量数据)
【实例】创建散点图(表数据)。在编辑器中编写以下程序并运行:
tbl=readtable('patients.xls'); % 以表 tbl 的形式读取 patients.xls subplot(1,2,1) scatter(tbl,'Systolic','Diastolic'); % 绘制变量 subplot(1,2,2) scatter(tbl,'Weight',{'Systolic','Diastolic'}); % 同时绘制多个变量 legend运行程序后,输出如下图所示的图形:

图 2 散点图(表数据)