宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取

一、概述

Scatter函数Matlab中的基础绘图函数之一,它可以根据二维或三维数据绘制散点图。其中,x、y、z为传入的数组,对应数据点的坐标;c为可选的传入数组,用于指定每个数据点的颜色;sz为可选的值或传入数组,用于指定每个数据点的大小。

二、绘制散点图

使用scatter函数可以绘制二维或三维的散点图。其中,二维散点图可以使用scatter(x,y)函数绘制,如下所示:

 x = rand(50,1);
 y = rand(50,1);
 scatter(x,y)

如果要绘制三维散点图,则需要传入三个数组,并使用scatter3函数绘制,如下所示:

 x = rand(50,1);
 y = rand(50,1);
 z = rand(50,1);
 scatter3(x,y,z)

此外,还可以通过传入c、sz参数来指定每个数据点的颜色和大小,例如:

 x = rand(50,1);
 y = rand(50,1);
 c = rand(50,1);
 sz = 50*rand(50,1);
 scatter(x,y,sz,c,'filled')

上面的代码可以绘制指定大小和颜色的散点图。

三、绘图属性设置

scatter函数有众多的属性设置参数,如MarkerFaceColor、MarkerEdgeColor、LineWidth、MarkerSize等,可以用于调整散点的样式和大小,例如:

 x = rand(50,1);
 y = rand(50,1);
 c = rand(50,1);
 sz = 50*rand(50,1);
 scatter(x,y,sz,c,'filled','MarkerFaceColor',[1 .6 .78],'MarkerEdgeColor',[.5 0 .5],'LineWidth',1.5,'MarkerSize',10)

上面的代码可以绘制具有指定线宽、指定大小、指定颜色和填充的散点图。

四、子图绘制

在Matlab中,一张图纸中可以绘制多个子图,使得多个图像可以直接进行比较。scatter函数也可以用于子图绘制。例如:

 x1 = rand(50,1);
 y1 = rand(50,1);
 c1 = rand(50,1);
 sz1 = 50*rand(50,1);
 subplot(1,2,1);
 scatter(x1,y1,sz1,c1,'filled','MarkerFaceColor',[1 .6 .78],'MarkerEdgeColor',[.5 0 .5],'LineWidth',1.5,'MarkerSize',10)

 x2 = rand(50,1);
 y2 = rand(50,1);
 c2 = rand(50,1);
 sz2 = 20*rand(50,1);
 subplot(1,2,2);
 scatter(x2,y2,sz2,c2,'filled','MarkerFaceColor',[1 .6 .78],'MarkerEdgeColor',[.5 0 .5],'LineWidth',1.5,'MarkerSize',10)

上面的代码绘制了一个包含两个子图的散点图。

五、代码示例

下面是一个完整的代码示例,可以用于绘制具有指定颜色、大小和样式的散点图:

 x = rand(50,1);
 y = rand(50,1);
 c = rand(50,1);
 sz = 50*rand(50,1);
 scatter(x,y,sz,c,'filled','MarkerFaceColor',[1 .6 .78],'MarkerEdgeColor',[.5 0 .5],'LineWidth',1.5,'MarkerSize',10)

六、总结

scatter函数作为Matlab中的基础绘图函数,可以实现二维和三维散点图的绘制,并且具有丰富的属性设置参数。在使用时,可以根据具体需求选择传入数组,并对其进行属性设置,以实现最终需要的图像效果。