找回密码
 注册
关于网站域名变更的通知
查看: 347|回复: 3
打印 上一主题 下一主题

问个三维散点图的投影问题

[复制链接]
  • TA的每日心情
    开心
    2022-1-21 15:21
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2023-1-12 11:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    目的是想将三维散点投影到X-Y平面,三维点和其对应投影点之间用实线或虚线相连,! k8 h9 }. d: U+ a* I+ ]% X( }
    最好是虚线相连。现在能找的出X-Y平面上的投影点,但虚线相连实现不了,求指教。; Z- X+ M3 d$ J7 F1 Z& b4 C, S
    非常感谢!$ H+ e, ^& `! ~2 o% f

    $ T9 Y' n% b" }- G相关数据如下:) I0 n- D' Q- s
    clear
    " ^" z5 j, S8 B' x: Uclose all
    ; C; R$ ]: t' h3 X5 [$ u3 |7 ?x=3+randn(100,1);
    7 y: u1 \! X* @9 s. b% ~y=2+randn(100,1);3 s3 ?, s& p: J% }/ Y4 \7 a' S
    z=5+randn(100,1);: e7 |5 X* r- V" V. d' S, Z" [3 E
    scatter3(x,y,z)) b) c- c5 o: @0 e9 E  h
    xlabel('X')
    5 o& t; q7 O4 e; F$ k4 jylabel('Y')3 H9 o# Q% T& R
    zlabel('Z')
    . }+ S: t; \* o4 z1 Bhold on7 b9 p- F' g! D
    scatter3(x,y,zeros(length(x),1))
    $ L" c9 M  k# \5 T3 e4 y0 T+ dhold off
    , ?/ e" [* ]! b) ^$ y9 i- l
  • TA的每日心情
    开心
    2022-1-21 15:22
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2023-1-12 13:12 | 只看该作者
    plot3命令应该可以做到吧?你可以查查帮助
  • TA的每日心情
    开心
    2022-1-29 15:05
  • 签到天数: 2 天

    [LV.1]初来乍到

    3#
    发表于 2023-1-12 13:21 | 只看该作者
    你没有写画虚线的语句,当然画不出了
    & ]' G4 J2 U3 r. o4 sclear,clc1 m' T5 @# `8 C# [8 Y/ V
    close all
    $ i& `2 K  E) i2 i/ L- A3 o$ {* B
    x = 3+randn(30,1);& C1 o1 P* u* s8 T8 r9 o) T; U
    y = 2+randn(30,1);
    1 T% ]* ?# l) y/ ?6 j8 `z = 5+randn(30,1);7 p% n: d+ m8 [- \8 M1 t
    p = {'linestyle','none','marker','o'};
    6 M% x; ]1 Z" G; n, }line(x,y,z,p{:});' M+ \1 C; {! u" F0 |
    line(x,y,0*z,p{:},'color','g');2 {% U- F5 j4 m0 S' s1 ?
    line([x x]',[y y]',[z 0*z]','linestyle','--','color','k')% H7 O( ]3 F3 G
    xlabel('X')
    % y! v- n3 L- l! K( w5 X- [  yylabel('Y')
    + v$ B8 T& L+ _$ N% p  Q* _8 Pzlabel('Z')7 G" f5 O/ ~' I9 Z; j- d" Y
    grid on
    3 q; s3 d5 _' u$ cview(-30,50)

    该用户从未签到

    4#
    发表于 2023-1-12 13:29 | 只看该作者
    个人觉得这里plot3函数还是要酌情使用) v# e  x* t0 y& \
    close all6 C7 M' a# G6 D
    clear,clc/ {. V* g6 V% t* E' d" B
    % L: i* s' z! ]# L
    x = rand(100,1);* F* r5 D) Q6 t% ^& C. w& d
    y = rand(100,1);
    . `' K: I% K% ?8 r8 M8 ez = rand(100,1);4 g0 G: T9 Y9 O; Z
    - I9 \) i( h: y. S* x! t" D
    tic, for idx=1:100, cla; plot3([x x]',[y y]',[z 0*z]','-.'); end; toc;
    5 c6 `8 N/ q% @) O( {/ |tic, for idx=1:100, cla; line([x x]',[y y]',[z 0*z]','linestyle','-.'); end; toc;
    & k+ I9 q* j! X4 k2 l3 c) F# p/ b% k8 j3 b
    Elapsed time is 4.888176 seconds.
    7 O* V( P) x7 y7 nElapsed time is 2.246748 seconds.
    # Q" Q. y3 w6 {8 H可以看出plot3因为是个比较高级的函数所以效率不如line函数
    : }/ q' U& n5 Z9 {9 v( K+ v' a而且plot3还需要hold on/off
    * \2 U" m% M% q3 ^: }9 Y所以多数情况(小部分情况,例如你要刷新什么的和一些其他较少见的情况plot更加适合)下line是比plot3/plot更好的选择
    . Z( V# p* ^$ M  c6 d2 \. d
    3 q$ G. c9 `) \/ l, _另外对于scatter/scatter3,l在点数较少(不多于100个)的情况下line也有不错的效率优势
    : ^* s) {$ f" r2 t但是如果对每个点有不同的要求(例如不同大小)或者其他特殊情形下(例如点较多),还是用专门做散点的scatter/scatter3较好
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-6-7 00:34 , Processed in 0.078125 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表