【Matlab绘图进阶第5弹】Matlab绘制三维散点图

散点图又称之为气泡图、主要分为二维散点图与三维散点图、常用于反映数值之间的相对位置、在工科方面常见于机器学习和深度学习分类算法中的特征密度展示。本期为三维散点图绘制、后续会出二维散点图教程。下面来和我一起实现散点图的绘制吧!

成图效果展示

绘图三步走 

  1. 取色

    取色的核心是获取0-1之间的RGB值矩阵、配色的好坏直接决定着图形的颜值高低、论文的门面即是图表。

  2. 数据准备

    三维散点图的数据主要包括X、Y、Z、ZF三维或者四维度数据矩阵、其中ZF为数据点的特征列、决定颜色深浅与散点大小。

  3. 函数使用

    三维散点图的函数主要为scatter3、二维散点图函数为scatter。

👉  1. 取色 

此次取色步骤和之前取色过程不同、三维散点图需要很多种颜色渐进、即colormap,大小约为n*3的数据矩阵,需要选取两种基础色进行线性插值、具体基础色如下图: 

 接着对两种颜色进行线性插值、生成n组RGB值,实现一个颜色柱的绘制、从而得到一个完整的色系。生成后的色系图如下:

 如上图所示、由两种基础色——完整的色彩柱就生成啦,大小为n*3,并将其保存为mycolor.mat文件用于matlab读取。

👉  2. 数据准备

数据是小编用随机数函数randperm生成的四维度数据,分别为X、Y、Z、ZF,其中前者为三维数据点、后者为数据特征大小与颜色深浅,具体代码如下:

%% 随机生成X,Y,Z数据
X = 1:64;
Y = randperm(64);
Z = randperm(64);
ZF = randperm(64)*30;% 散点特征:散点值大小/颜色深浅

 👉  3. 函数使用

绘制三维散点图主要函数为scatter、参数分别为X、Y、Z、ZF与颜色矩阵n*3。下面为主要绘图代码:

%% 导入所有颜色矩阵
% 颜色文件有8种颜色map
load mycolor.mat;
%% 开始绘制三维散点图
mycolor_value= mycolor1;
figure('color',[1 1 1]);
scatter3(X,Y,Z,ZF,mycolor_value,'.');
colormap(mycolor_value);
colorbar()

 接下来是完善坐标区与各个标题信息。

%% 完善图例与坐标区
xlabel('X','Fontname','微软雅黑');
ylabel('Y','Fontname','微软雅黑');
zlabel('Z','Fontname','微软雅黑');
title('三维散点','Fontname','微软雅黑');
set(gca,'Box','on');
ax = gca;
ax.BoxStyle = 'full';
set(gca,'Xgrid','off','Ygrid','off','Zgrid','off');
set(gca,'Linewidth',1.2);

 一张完整的三维散点图做好啦、赶快收藏起来吧!

 

 

 完整代码资料获取方式

 Matlab绘制三维散点图资料链接

 

 

 

  • 36
    点赞
  • 284
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值