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

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    目的是想将三维散点投影到X-Y平面,三维点和其对应投影点之间用实线或虚线相连,1 x* C' K# v- C: g8 M
    最好是虚线相连。现在能找的出X-Y平面上的投影点,但虚线相连实现不了,求指教。/ ^: C  q9 F5 J8 Z- }! G
    非常感谢!5 {! Q$ n6 S+ \" x) |# |! O( A
    $ I- Q/ g& ~, x" P
    相关数据如下:# W4 i; }* I# f3 `0 H7 V) O
    clear
    - Q0 P4 q5 @) G* s' D& w! U. ?7 `close all7 @6 r& E) x: C/ ^0 {) f  N0 m7 M7 e
    x=3+randn(100,1);4 @; a7 g, P2 B1 l2 F
    y=2+randn(100,1);
    - P$ K! {1 [& k' n: {  s6 {z=5+randn(100,1);
    " s4 O8 O) V, l3 G% \3 j6 nscatter3(x,y,z)4 H0 R1 ?9 O' q3 ?6 n
    xlabel('X')( ~1 l4 c! P3 W8 J4 r- ]
    ylabel('Y')1 s# N0 L4 g7 L. i; A0 ]& l9 d
    zlabel('Z')( n5 }4 X1 T* Q2 f: A% y
    hold on
    9 ~4 {, H6 y7 ?8 n3 Sscatter3(x,y,zeros(length(x),1))
    ) b) v' L, f5 V  T; qhold off) h$ y/ C- ?" _+ \; K+ ^! N
  • 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 | 只看该作者
    你没有写画虚线的语句,当然画不出了& o2 q# P: |' \, i) L
    clear,clc8 h* m1 B+ L$ _5 M1 L: Y  `
    close all
    : Q; A4 c$ R4 h: G. U9 ?+ Z/ d
    ) V  e) _' J: Y# B) e. q. i2 bx = 3+randn(30,1);
    & a/ k/ o  P' j: X, b" i5 t& {y = 2+randn(30,1);; I  {" S  L$ C4 S
    z = 5+randn(30,1);
    . v1 O* h; r: S9 D  I* ?p = {'linestyle','none','marker','o'};
    3 _& A" I+ P: d5 B5 Q0 A' Dline(x,y,z,p{:});! ?0 f  z2 g  R
    line(x,y,0*z,p{:},'color','g');2 X: `/ ?% d' t2 s
    line([x x]',[y y]',[z 0*z]','linestyle','--','color','k'), R' Q; f! x/ F$ T1 @
    xlabel('X')
    : B' p9 W, i. F! A; O" Y6 ]( Jylabel('Y')
    5 D7 i+ Z8 |5 vzlabel('Z')
    3 x- Z# {) P# G. qgrid on
    : x! w* R* W5 `3 k" Qview(-30,50)

    该用户从未签到

    4#
    发表于 2023-1-12 13:29 | 只看该作者
    个人觉得这里plot3函数还是要酌情使用
    8 k8 L8 Q  I& a2 ?close all
    5 e& \$ D+ ~7 z5 wclear,clc, ?% d# E6 C1 ^

    + W5 }% ]3 f" _! r. C$ j2 i6 xx = rand(100,1);% Q" a) F0 ^+ D  I& E3 z
    y = rand(100,1);8 F+ J# x" g' A: r% p6 v
    z = rand(100,1);
    1 X( O: U% {$ [4 T  X* |) Y8 }- Y0 \8 e/ T- D* U- D  g
    tic, for idx=1:100, cla; plot3([x x]',[y y]',[z 0*z]','-.'); end; toc;
    ; P# L  e( q7 z7 W" f1 Z+ C! _7 [9 Mtic, for idx=1:100, cla; line([x x]',[y y]',[z 0*z]','linestyle','-.'); end; toc;
    3 S* s3 h# G: y& i- j; J! Q% X% U; N5 b0 B' Y" s  H
    Elapsed time is 4.888176 seconds.# j) {9 O* ], `* O
    Elapsed time is 2.246748 seconds.
    3 j/ T* ^4 t# |& k, q可以看出plot3因为是个比较高级的函数所以效率不如line函数6 l, ~8 T/ r4 `2 M6 `( y2 w) O
    而且plot3还需要hold on/off
    + m/ r% o. j8 {& m: N# O所以多数情况(小部分情况,例如你要刷新什么的和一些其他较少见的情况plot更加适合)下line是比plot3/plot更好的选择% `/ z" k4 Y, O, G4 R* P* f: B

    4 J; }" F( F2 r. k8 e( h% @9 T另外对于scatter/scatter3,l在点数较少(不多于100个)的情况下line也有不错的效率优势6 l5 j" U) P$ L7 O7 u
    但是如果对每个点有不同的要求(例如不同大小)或者其他特殊情形下(例如点较多),还是用专门做散点的scatter/scatter3较好
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-23 13:47 , Processed in 0.140625 second(s), 24 queries , Gzip On.

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

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

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