找回密码
 注册
查看: 342|回复: 3
打印 上一主题 下一主题

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    目的是想将三维散点投影到X-Y平面,三维点和其对应投影点之间用实线或虚线相连,
    : n. G: V$ I  i7 ^/ D8 k最好是虚线相连。现在能找的出X-Y平面上的投影点,但虚线相连实现不了,求指教。
    # w: R; p3 X' j非常感谢!
    8 N# A" f" a/ V' p/ a0 o, j5 H# f2 h+ _* A- W+ z4 W
    相关数据如下:
    * u# O- l7 Q! z7 A- r' v5 Q5 h# Eclear9 E7 K6 t. a7 e6 [) ^
    close all
    2 A  U+ X$ z% J8 ]( {x=3+randn(100,1);' `4 ?. o8 h0 ~  k  L. `" L3 f
    y=2+randn(100,1);. d, f) Q9 F& W% w7 J: ?8 \1 a
    z=5+randn(100,1);$ o2 T9 X' q/ B+ k  \
    scatter3(x,y,z)' z* W' A9 E2 K9 i( P7 S: p0 P& S$ u7 a
    xlabel('X')% n9 p* M. d( u! `
    ylabel('Y')0 q% p1 C9 ?( \+ l  b# V( X
    zlabel('Z')0 w8 w' D- P5 C, c, }" S
    hold on* q. U; ]+ J) y* Z% T- A
    scatter3(x,y,zeros(length(x),1))
    7 f  r7 y2 ^9 d: j4 G6 k* t0 s3 \; shold off
    : Q6 w& G1 z5 p
  • 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 | 只看该作者
    你没有写画虚线的语句,当然画不出了  K6 [: V! I4 s: ?1 t. T2 O
    clear,clc' b: j6 b3 N7 Q4 B) M9 @9 I, h
    close all4 r' R3 `4 Z; s& D" R
    ( T% [& n3 _$ c: K6 q* P5 _4 c1 O
    x = 3+randn(30,1);, m$ F  y5 @0 N4 P1 `
    y = 2+randn(30,1);. e1 v! ^: g1 r: s$ U; k
    z = 5+randn(30,1);" G$ p' b# X: o! O
    p = {'linestyle','none','marker','o'};
    1 u9 m' e6 e/ o) ?/ ?line(x,y,z,p{:});1 u) r, f/ K, u( U' P0 G3 h& `
    line(x,y,0*z,p{:},'color','g');6 B  ~$ t8 @+ X
    line([x x]',[y y]',[z 0*z]','linestyle','--','color','k')
    * O1 d, D. p* V; O. A9 Pxlabel('X')  Q# }) Y) t$ ^# |( q9 h
    ylabel('Y')
    ; r, g1 N! @+ {& r% \3 v" izlabel('Z')& {9 l) [& h( [4 ?0 W
    grid on
    4 Z* z3 R. g+ N$ j" V# Gview(-30,50)

    该用户从未签到

    4#
    发表于 2023-1-12 13:29 | 只看该作者
    个人觉得这里plot3函数还是要酌情使用$ V/ T8 {2 P8 C
    close all
    $ K: J" H/ g% B5 h; b4 N7 v: i! Xclear,clc1 d6 h1 k# {  @8 F' p" z4 K
    3 ]( z+ M0 A+ b+ D, t& k& C
    x = rand(100,1);2 d  b$ ?, x# m! _& ]1 m- z; V
    y = rand(100,1);
      j1 u0 X3 J( L& a* Uz = rand(100,1);
    , [9 o! _9 z4 L. P$ j: D" S& b2 b
    $ w0 |% }- r. h6 ]- }tic, for idx=1:100, cla; plot3([x x]',[y y]',[z 0*z]','-.'); end; toc;6 l1 q) ]2 \9 }- @, ~
    tic, for idx=1:100, cla; line([x x]',[y y]',[z 0*z]','linestyle','-.'); end; toc;
    3 C$ _# I# B4 A: S" B+ @+ t- j. b; u2 T2 b# _
    Elapsed time is 4.888176 seconds.' c7 v( t9 v- S+ Q% L
    Elapsed time is 2.246748 seconds." @& u# V/ e5 a. m( k- {  b
    可以看出plot3因为是个比较高级的函数所以效率不如line函数
    , u6 o% N. d- ]# w  B而且plot3还需要hold on/off
    - f, ^9 v" _# g+ t9 {6 A所以多数情况(小部分情况,例如你要刷新什么的和一些其他较少见的情况plot更加适合)下line是比plot3/plot更好的选择
    ' I" i5 I4 r3 [* Z8 m
    / p; i& i7 n* Y, C另外对于scatter/scatter3,l在点数较少(不多于100个)的情况下line也有不错的效率优势% [( A& j( Z/ n8 [! c
    但是如果对每个点有不同的要求(例如不同大小)或者其他特殊情形下(例如点较多),还是用专门做散点的scatter/scatter3较好
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-5-28 02:25 , Processed in 0.078125 second(s), 23 queries , Gzip On.

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

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

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