MATLAB-Scatter3-三维散点图投影至XYZ三个平面

MATLAB-Scatter3函数可以绘制立体的三维散点图,但有时候需要在该立体图中分析X-Y-Z三者的关系,即1副图呈现出4个信息,XYZ综合信息、XY信息、XZ信息、YZ信息。现有的Scatter3无法实现该功能,本文可实现Scatter3三维立体散点图在三个平面的投影

1 Scatter3绘制的三维图

1.1 数据准备

Archive_F=[0.214774524477043	0.212273603908085	0.230944359290959	0.0374815116088139	0.0182452239211796	0.0181402544535872	0.0286097030129952	0.0291005343959346	0.0262176369739111	0.0253447527583729	0.0260111045675729	0.0250223114927176	0.0261032663769370	0.0276281500305424	0.0140969568281942	0.0188863144511788	0.0188209081551797	0.0185554804662187	0.0176052081940137	0.0179264959541706	0.0156252777789427	0.0176869898054699	0.0204109147393797	0.0216470199083856	0.0277610565555296	0.0279784210419991	0.0281187965824094	0.0317743730425784	0.0325985585341534	0.0328298553066216	0.0315201631780755	0.0365102969754248	0.0213451933378615	0.0215197252871043	0.0226079894277912	0.0221926240318219	0.0842848264129697	0.0846707261971724	0.0845620905646032	0.0839180801525432	0.0835159619120784	0.0334572803934914	0.0334572803934914	0.0334572803934914	0.0334572803934914	0.0334572803934914	0.0334572803934914	0.0334572803934914	0.0334572803934914	0.0334572803934914;
21796362.7324385	21815792.5578712	21793841.0828533	21795027.1988607	21806953.0679037	21808482.8155332	21801267.9743108	21793925.6505310	21809434.0195484	21821797.9491900	21823908.4277654	21838648.9414791	21815473.0531030	21804315.1536796	21821797.9491900	21800385.8054059	21802219.5310726	21798346.3166414	21804853.8048828	21810330.5620670	21821797.9491900	21821797.9491900	21821797.9491900	21814973.6884657	21797865.4329235	21795635.6927668	21794736.7123120	21812330.3163034	21821797.9491900	21807191.9838235	21821797.9491900	21793823.4250554	21794425.4190836	21794480.4543669	21800580.8375374	21794136.9754014	21798138.6481655	21794836.5468471	21796213.8978320	21808547.2171858	21810001.1778232	21800904.2438615	21800904.2438615	21800904.2438615	21800904.2438615	21800904.2438615	21800904.2438615	21800904.2438615	21800904.2438615	21800904.2438615;
0.0593769116218121	0.0512152498436311	0.0872362290472495	0.218122250490201	0.456733335820898	0.543801572147437	0.276011604963051	0.292289511219630	0.260742229216441	0.277461461617152	0.271692257233797	0.279651968316828	0.282601831897452	0.417440226033212	0.577721624425776	0.500545504738645	0.472151645148244	0.561447918081684	0.570567658688782	0.508650391691957	0.428671704113855	0.401350361606390	0.378555037831306	0.375510867042196	0.391028808588133	0.391900963287216	0.394044104252370	0.237546557536312	0.184442867466795	0.212134012138314	0.217151204499710	0.278836690043773	0.521367079900366	0.510841980213136	0.490118064354543	0.522923459885113	0.0750851461477381	0.0777513944947410	0.0783669116953204	0.0797732520051353	0.0862377401800359	0.214406533528065	0.214406533528065	0.214406533528065	0.214406533528065	0.214406533528065	0.214406533528065	0.214406533528065	0.214406533528065	0.214406533528065];

1.2 绘制代码

scatter3(Archive_F(1,:),Archive_F(2,:),Archive_F(3,:),60,...
        'MarkerEdgeColor','k',...
        'MarkerFaceColor',[0 .75 .75])
    axis ( [0    0.5 2.1*10^7 2.2*10^7 0   0.4])
    %      xmin xmax ymin        ymax zmin zmax
    xlabel('xA');
    ylabel('yB');
    zlabel('zC');

1.3 图形输出

图示可看出,绘制出来的图形仅可看到其立体图形,虽然手动旋转坐标轴可以看到三个平面的投影情况,但成图中并不能直接看到。
在这里插入图片描述

2 包含三个平面投影的三维图

2.1 绘制代码

以下代码可在三个子平面看到对应的投影情况,其他大小、形状、颜色等可自行调整或参考MATLAB官网Scatter3函数调整。

scatter3(Archive_F(1,:),Archive_F(2,:),Archive_F(3,:),60,...
        'MarkerEdgeColor','k',...
        'MarkerFaceColor',[0 .75 .75])
    axis ( [0    0.5 2.1*10^7 2.2*10^7 0   0.4])
    %      xmin xmax ymin        ymax zmin zmax
    xlabel('xA');
    ylabel('yB');
    zlabel('zC');
    hold on
    %  以下代码可在三个子平面看到对应的投影情况
scatter3(Archive_F(1,:),Archive_F(2,:),0*ones(1,length(Archive_F(1,:))),'.',...
     'MarkerEdgeColor',[8/255,118/255,191/255],...
        'MarkerFaceColor',[8/255,118/255,191/255])% xy平面
scatter3(Archive_F(1,:),2.2*10^7*ones(1,length(Archive_F(1,:))),Archive_F(3,:),'.',...
     'MarkerEdgeColor',[226/255,124/255,81/255],...
        'MarkerFaceColor',[226/255,124/255,81/255])% xz平面
scatter3(0.5*ones(1,length(Archive_F(2,:))),Archive_F(2,:),Archive_F(3,:),'.',...
     'MarkerEdgeColor',[230/255,3/255,20/255],...
        'MarkerFaceColor',[230/255,3/255,20/255])% yz平面

2.2 图形输出

在这里插入图片描述

参考

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WW、forever

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值