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

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    目的是想将三维散点投影到X-Y平面,三维点和其对应投影点之间用实线或虚线相连,: m, b" n8 K0 w  A% a2 t% A
    最好是虚线相连。现在能找的出X-Y平面上的投影点,但虚线相连实现不了,求指教。9 R5 o) v5 B7 B7 h, f
    非常感谢!" I+ }: f5 v' u( ]7 K! J

      x. {/ l- k$ U; e, E相关数据如下:- W9 u) \7 k: y( t8 T$ M8 O7 N' t
    clear( G+ `$ m  j0 K. y9 ~
    close all
    1 @- `+ Q1 A; h, t" P6 D5 B8 ax=3+randn(100,1);. M: U. @6 w' e& ^
    y=2+randn(100,1);: j( U; {4 r* ^, D$ G) r9 r0 S9 Y
    z=5+randn(100,1);* M6 a. F' W% q! I/ `% S) k: Q% B7 w
    scatter3(x,y,z)
    : f* j1 ?* f# B: n" L% _xlabel('X'). D4 t+ f1 p$ H& n7 f4 P9 L. {1 Q6 D
    ylabel('Y')5 X9 J) y. |: D0 ~* g
    zlabel('Z')
    & f! @" S! b: Y/ `4 T' J/ D) Xhold on
    4 n" B/ `7 G" S" H  I2 yscatter3(x,y,zeros(length(x),1))
    6 d% p" k8 k: Ohold off
    9 f" a( u5 ?& r' X
  • 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 | 只看该作者
    你没有写画虚线的语句,当然画不出了
    5 e% j. E& j; Z/ C* Cclear,clc
    + v. k% S6 M! I, Qclose all1 O# H2 d8 `' u

    " V! Z7 {% m) J: }( i+ [x = 3+randn(30,1);" ^& _' K; E& k
    y = 2+randn(30,1);3 w& R  K7 z0 q- }8 N1 V: t) @
    z = 5+randn(30,1);& U+ a4 b$ @. @& A* J2 A. b
    p = {'linestyle','none','marker','o'};
    % B( i* i) W2 o! F7 Jline(x,y,z,p{:});
    2 {! P! P# f7 S5 ?" N  n3 ^5 jline(x,y,0*z,p{:},'color','g');
    - w3 ^8 e3 k( E1 oline([x x]',[y y]',[z 0*z]','linestyle','--','color','k'). v' |6 g+ W+ H8 ^! c4 ~6 S
    xlabel('X')7 l/ ?) X& [1 |2 f
    ylabel('Y')+ u# f- L1 Q+ A$ e0 C' h0 ?% P% E! o: {
    zlabel('Z')
    * k" W+ @$ U- i6 q; tgrid on
    8 B3 @& ]; s7 q1 Tview(-30,50)

    该用户从未签到

    4#
    发表于 2023-1-12 13:29 | 只看该作者
    个人觉得这里plot3函数还是要酌情使用
    5 ?# W2 ]- X: F5 U) d9 {8 uclose all3 q( l% S7 p8 y1 `& a0 Z
    clear,clc
    - K- ~7 s, f9 w
    ; {4 r7 X+ T& G& W+ U/ Zx = rand(100,1);) j$ c! Q* u9 ~5 V) H
    y = rand(100,1);
    , v3 n% x) \" A, a( j9 Lz = rand(100,1);% {+ b  Q+ {0 p$ t- I

    * I: [% e, q4 T9 `: X; k# Ltic, for idx=1:100, cla; plot3([x x]',[y y]',[z 0*z]','-.'); end; toc;" M9 D& F4 W4 N
    tic, for idx=1:100, cla; line([x x]',[y y]',[z 0*z]','linestyle','-.'); end; toc;
    ; O/ j1 {0 @5 a$ `8 m  B6 k7 a
    7 c, P$ _- ?4 O' E6 ~" G; PElapsed time is 4.888176 seconds.* q6 I5 x6 T* Z2 T7 w9 F& F
    Elapsed time is 2.246748 seconds.
    8 W0 J/ v$ A/ J( e# j可以看出plot3因为是个比较高级的函数所以效率不如line函数
    , V; J* n9 N# A3 L' R4 U6 v! M而且plot3还需要hold on/off
    5 E6 `4 s9 c% P( W9 x所以多数情况(小部分情况,例如你要刷新什么的和一些其他较少见的情况plot更加适合)下line是比plot3/plot更好的选择& a) Z5 S- p; S: z* W
    9 {" L  v8 z% \4 U2 x6 c$ @
    另外对于scatter/scatter3,l在点数较少(不多于100个)的情况下line也有不错的效率优势
    8 i: K0 w. k! M% v# o但是如果对每个点有不同的要求(例如不同大小)或者其他特殊情形下(例如点较多),还是用专门做散点的scatter/scatter3较好
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-8-24 09:30 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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