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

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    目的是想将三维散点投影到X-Y平面,三维点和其对应投影点之间用实线或虚线相连,9 P2 m6 U7 @7 Q: S
    最好是虚线相连。现在能找的出X-Y平面上的投影点,但虚线相连实现不了,求指教。3 r! _4 f3 S$ u5 B( T# r1 J
    非常感谢!
      X% p' R9 n+ Z2 `8 ~5 J% z1 L. r/ \" H1 G7 i$ x* \
    相关数据如下:
    5 _, C/ O- \+ ~" X, p- wclear
    . {, n2 `3 ^' F( P$ W9 }/ K6 ~% Sclose all5 d% o4 P* w9 B9 ~* I; ~1 x9 w
    x=3+randn(100,1);9 c' }9 _6 n, \( H$ u- }
    y=2+randn(100,1);
    2 \' _9 U5 h* n6 Fz=5+randn(100,1);
    6 I& e# p4 x8 D7 [+ rscatter3(x,y,z)
    0 v2 ]) Q: W% ^; Z6 P, Vxlabel('X')
    ' [' }6 _4 k+ K8 qylabel('Y'); c: D# P4 w/ {# k
    zlabel('Z')
    1 n9 A- O0 I7 E% Fhold on) Y+ y" \6 A1 ~7 Y3 n$ ~' p/ l7 _5 G8 j
    scatter3(x,y,zeros(length(x),1))
    * f; j% [0 Q+ \& Lhold off; W1 Z$ j) f6 d/ p" o6 S
  • 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 | 只看该作者
    你没有写画虚线的语句,当然画不出了0 s* @+ ~1 }" f7 o) P0 `
    clear,clc
    4 ]; v3 B+ q: H7 ^5 Tclose all- ]$ O9 d% I8 U* r4 [3 B
    3 R) d5 s$ n9 g  J& K
    x = 3+randn(30,1);
    / q* W( `8 ~# G2 j7 `y = 2+randn(30,1);
    5 C! f( Q; g' C4 K% Cz = 5+randn(30,1);' i5 v# K. `7 |$ O
    p = {'linestyle','none','marker','o'};
    $ t0 o% f3 s2 @4 B4 Oline(x,y,z,p{:});; P5 I" z, K1 Y7 @
    line(x,y,0*z,p{:},'color','g');
    8 v+ H: }# q: U) G; S; P2 nline([x x]',[y y]',[z 0*z]','linestyle','--','color','k')3 M( k  U, W. o" B
    xlabel('X')
    $ o2 v: @  j: p5 N  a% @ylabel('Y')
    ; x( E! h! d2 tzlabel('Z')
    + T9 N' n1 E3 ngrid on: D8 p5 h( n+ h" Z- P) ]+ O9 V+ w
    view(-30,50)

    该用户从未签到

    4#
    发表于 2023-1-12 13:29 | 只看该作者
    个人觉得这里plot3函数还是要酌情使用
    1 _+ v6 D: s/ V: M  i9 ?4 a5 Aclose all0 X+ y1 j% B/ t) Z
    clear,clc& W/ {0 L5 t6 i" ~# v8 Y5 X3 H

      }4 ~2 y; F, E: _$ Q) bx = rand(100,1);
    ( m& I$ O$ a, ~  p# x5 W8 Ey = rand(100,1);6 }4 l* ^; y3 N6 W) n3 `' R
    z = rand(100,1);  o. p- c( A& d5 s

    5 {: S- W- I5 Y) e" \1 B3 q! Q# dtic, for idx=1:100, cla; plot3([x x]',[y y]',[z 0*z]','-.'); end; toc;- O, K" X1 U+ I/ T; Z) r1 I
    tic, for idx=1:100, cla; line([x x]',[y y]',[z 0*z]','linestyle','-.'); end; toc;
    8 I: n' W3 ]. u: ]3 R
    & [8 |& [- g) }- {5 KElapsed time is 4.888176 seconds.
    6 O8 P7 o( k0 B! P5 ]& iElapsed time is 2.246748 seconds.' l8 R) v# y) {4 `5 u; ~$ u
    可以看出plot3因为是个比较高级的函数所以效率不如line函数$ _% w5 }8 J0 t- C9 B  j" l
    而且plot3还需要hold on/off/ u# J) }; A# S# g6 R- J
    所以多数情况(小部分情况,例如你要刷新什么的和一些其他较少见的情况plot更加适合)下line是比plot3/plot更好的选择
    1 y: c, K4 r* G3 o; Y5 {
      R( _$ b+ F3 m- J" Z另外对于scatter/scatter3,l在点数较少(不多于100个)的情况下line也有不错的效率优势
    7 ]8 n2 E" ^2 B1 K但是如果对每个点有不同的要求(例如不同大小)或者其他特殊情形下(例如点较多),还是用专门做散点的scatter/scatter3较好
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

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

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

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

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