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

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    目的是想将三维散点投影到X-Y平面,三维点和其对应投影点之间用实线或虚线相连,
    5 d( e* X' H) x* q. J5 P: E; B最好是虚线相连。现在能找的出X-Y平面上的投影点,但虚线相连实现不了,求指教。
    $ s  O" J8 N+ e$ z' S8 Y: d非常感谢!
    % Z" D6 y; x- h$ f" `8 H
    . h0 g8 H) ^3 J5 n6 u+ t- L. ?相关数据如下:
    7 c8 {; J! S$ m$ w1 Sclear
    ; I: _8 b* p) V" c$ fclose all
    5 m' _; v! C$ F! qx=3+randn(100,1);
    5 Q$ b, Z- `9 ~; @9 D: ]' By=2+randn(100,1);4 k+ K& V; Z9 }6 J
    z=5+randn(100,1);( T+ Y5 K* d& H; g' g- e
    scatter3(x,y,z)  V" Q: P/ h( `
    xlabel('X')
    ' {. f& s" Z5 [0 m$ dylabel('Y')  p5 C5 l' L; `  a8 Y6 E$ Y7 G2 }
    zlabel('Z')  [, K+ q; a+ U+ _* n" ?
    hold on
    - D! X/ [3 h. ~: k* O& D$ X* [scatter3(x,y,zeros(length(x),1))& v: t  j/ i+ v$ Q4 \/ _) X5 n
    hold off
    ; ?2 G3 p7 V( W$ t6 W
  • 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 | 只看该作者
    你没有写画虚线的语句,当然画不出了
    * R# s: a  |7 T5 D$ Gclear,clc
    : L' I. S$ i) y  b+ l: z2 X7 Sclose all
    6 E6 @/ ~9 u/ U+ c9 d( R# b0 |; P; |% t1 m2 u
    x = 3+randn(30,1);, n" O& ~# U2 @; I
    y = 2+randn(30,1);
    6 \9 q5 H8 q1 B% H$ A- Y/ tz = 5+randn(30,1);
    ) \6 B3 ]6 l5 kp = {'linestyle','none','marker','o'};5 J5 H/ m6 _! k! O
    line(x,y,z,p{:});
    ( d0 l* v2 J  x5 W+ e3 K6 Iline(x,y,0*z,p{:},'color','g');5 d  `' f- E5 H% ]2 l- c
    line([x x]',[y y]',[z 0*z]','linestyle','--','color','k')
    " h5 J+ E) B/ B. |2 D. uxlabel('X')
      z- W* Y* f0 m! yylabel('Y')
    1 U, u: ~' L/ y  H2 wzlabel('Z')8 \; n! V6 G8 K* a' x5 K
    grid on# y; C* l( b9 G9 Z
    view(-30,50)

    该用户从未签到

    4#
    发表于 2023-1-12 13:29 | 只看该作者
    个人觉得这里plot3函数还是要酌情使用
    . c7 f( U. S- v( wclose all6 H4 C5 A% {, _( X/ p6 J4 C$ R$ j
    clear,clc
    ) l9 c4 U6 x6 A- }; h- x( h8 G2 I- l1 `; b1 F5 y" Q
    x = rand(100,1);  k5 Z5 X7 {; V% o7 K& T
    y = rand(100,1);
    * }% q7 b: [: R0 |2 dz = rand(100,1);' `. G9 G3 B- k, a. [  P/ R

    8 s2 I" Q. e7 r' I( c( s+ Xtic, for idx=1:100, cla; plot3([x x]',[y y]',[z 0*z]','-.'); end; toc;- _# ^: a. P* K1 }: \4 D
    tic, for idx=1:100, cla; line([x x]',[y y]',[z 0*z]','linestyle','-.'); end; toc;0 j0 F$ h; D9 `3 _8 x1 {5 z8 T
    ' Q3 I3 h/ F% v
    Elapsed time is 4.888176 seconds.
    * \0 [$ h0 g+ G9 I4 Z7 G% v: uElapsed time is 2.246748 seconds., k$ @( B9 M; q  M+ t0 G
    可以看出plot3因为是个比较高级的函数所以效率不如line函数
    4 _: {0 k, w% H而且plot3还需要hold on/off
    & j6 ?( ~2 e: `" Q所以多数情况(小部分情况,例如你要刷新什么的和一些其他较少见的情况plot更加适合)下line是比plot3/plot更好的选择
      g# b. @4 \1 q/ y- t: S0 s
    3 b3 C: z% f! a9 S7 O, i8 `& r另外对于scatter/scatter3,l在点数较少(不多于100个)的情况下line也有不错的效率优势
    / H: `+ b/ n% C9 P% i- h但是如果对每个点有不同的要求(例如不同大小)或者其他特殊情形下(例如点较多),还是用专门做散点的scatter/scatter3较好
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-7-6 22:37 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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