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

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    目的是想将三维散点投影到X-Y平面,三维点和其对应投影点之间用实线或虚线相连,. e, `" T5 s1 t0 W
    最好是虚线相连。现在能找的出X-Y平面上的投影点,但虚线相连实现不了,求指教。6 X7 X2 k" T# U7 J. A
    非常感谢!' k$ |3 q' j! B. Y# y

    / K; y% Y% R2 F( ]; K  f3 R0 A相关数据如下:
    # \( M& g6 c8 n( F. s" Jclear
    7 I0 ]4 ?" @2 F- s+ Tclose all( M9 X: g' h9 R, Z" w7 ]
    x=3+randn(100,1);, ^, m) Q5 G4 S* h5 R
    y=2+randn(100,1);
    , M. f! n4 C6 K4 n7 ^. H0 u2 Uz=5+randn(100,1);/ p* m7 b4 t- C7 K/ v6 H; e
    scatter3(x,y,z)) _/ V1 k$ M3 P2 D) T2 w
    xlabel('X')
    6 _$ h, y' |# K8 f' s8 v8 K* p$ Iylabel('Y')
    " ^% [( i0 r/ u2 I6 V7 dzlabel('Z')
    0 M& a) A( ~( h0 x0 u5 d: `7 xhold on/ I, N0 E9 ?' u
    scatter3(x,y,zeros(length(x),1))
    % h: A( \( Y) U6 o( v6 i# ehold off+ V, w% y4 f% |2 C* N* 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 | 只看该作者
    你没有写画虚线的语句,当然画不出了( c4 ?, I( N1 ~4 Y4 X: g- F
    clear,clc
    " w0 r5 X, b9 Y; c4 ~! Uclose all+ ?9 J) K- |; e9 N& _9 ?" i3 k

    5 T# x; S+ x) H6 ux = 3+randn(30,1);  E% v) t; [, I: G
    y = 2+randn(30,1);
    / m5 B  V! W4 g: p4 O/ Gz = 5+randn(30,1);& N1 [. i6 z1 r2 {
    p = {'linestyle','none','marker','o'};
    ; y. I4 `2 X& Vline(x,y,z,p{:});
      E- R# S+ }) I0 |, T3 k# m- Hline(x,y,0*z,p{:},'color','g');
    , u+ r/ h6 N- i# H7 \" Jline([x x]',[y y]',[z 0*z]','linestyle','--','color','k')
    . a# l- \1 `( m; H- g+ A8 P" k! Nxlabel('X')% A! H3 J3 a+ {& _$ j
    ylabel('Y')
      X, @' ?4 A( D9 ]! _zlabel('Z')
    ( G1 x5 a% z: a3 W+ Dgrid on
    1 Z2 E, {) _$ ^) jview(-30,50)

    该用户从未签到

    4#
    发表于 2023-1-12 13:29 | 只看该作者
    个人觉得这里plot3函数还是要酌情使用
    4 e9 z; l; C- I  J- `( o/ l, Q' Zclose all; q$ B, k# B! d( _3 ?2 `9 Q
    clear,clc
    8 C4 W) }  S7 a& Z% x* b( g
    1 o* ^& b6 |+ o" p: I7 Px = rand(100,1);; i' `7 M- `" F3 x$ B/ L6 b* L; x
    y = rand(100,1);
    0 A+ b) a+ R3 Z9 |% `+ Rz = rand(100,1);3 J' Z0 p# f+ ~" P6 A) C, h
    7 K' V# `$ ~6 |- z6 y+ G" n+ z; F
    tic, for idx=1:100, cla; plot3([x x]',[y y]',[z 0*z]','-.'); end; toc;9 A: o1 D$ F& O/ Y
    tic, for idx=1:100, cla; line([x x]',[y y]',[z 0*z]','linestyle','-.'); end; toc;1 V- X' w- E% A

    : J. ?9 D; K1 q( `* U* aElapsed time is 4.888176 seconds.3 s/ P+ y8 M, Z2 P- S$ r0 g
    Elapsed time is 2.246748 seconds.
    * N' F- Q1 J) F, _7 X可以看出plot3因为是个比较高级的函数所以效率不如line函数: P) k' L0 e: y6 P, }3 o
    而且plot3还需要hold on/off( h8 A: ~. v- Z: S4 ~# V) q
    所以多数情况(小部分情况,例如你要刷新什么的和一些其他较少见的情况plot更加适合)下line是比plot3/plot更好的选择8 O/ o. _% u( i& x+ z$ A
    $ T* [2 ^3 h7 B6 d0 T
    另外对于scatter/scatter3,l在点数较少(不多于100个)的情况下line也有不错的效率优势
    , H3 {) ~+ j0 D但是如果对每个点有不同的要求(例如不同大小)或者其他特殊情形下(例如点较多),还是用专门做散点的scatter/scatter3较好
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

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

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

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

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