QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5192|回复: 0
打印 上一主题 下一主题

[代码资源] 关于matlab画十字坐标

[复制链接]
字体大小: 正常 放大
mudan 实名认证    中国数模人才认证   

19

主题

2

听众

994

积分

  • TA的每日心情
    奋斗
    2020-3-27 12:01
  • 签到天数: 173 天

    [LV.7]常住居民III

    邮箱绑定达人

    群组: 数学建模培训课堂1

    群组: 2011年第一期数学建模

    群组: 小草的客厅

    群组: 科学狂想曲

    群组: 学术交流B

    跳转到指定楼层
    1#
    发表于 2012-10-31 17:16 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta |邮箱已经成功绑定
    本帖最后由 mudan 于 2012-10-31 17:20 编辑 . P1 x9 d$ a1 y- O% n) H
    6 [- x- n, ]) e6 Q4 ]
    今天忽然想到如何用matlab画十字坐标,不过句柄方面确实用的不熟,便从网上找到一段程序,经测试可用,如果使用时不想有边框,可再加上axis off和box off两条语句,程序源出处是http://www.ilovematlab.cn/viewth...p;extra=&page=9
    1. function plot_to_center(x,y,Xticks,Yticks)
      $ m' r) T0 V7 N\" j\" E. F! a1 p
    2. if nargin~=2 & nargin~=4 %输入不满足要求则报错9 m/ q8 b' Q+ S' l! o
    3. error('??? 输入参数个数不对');0 {9 O5 `' `( O; g% W+ r8 o- j
    4. return;
      6 K9 J! r+ o) {% }3 B8 |2 t- f; l4 u8 l
    5. end$ q+ L4 O' s2 x2 d. E1 e
    6. figure;$ h8 ~+ a\" c2 X. H! W
    7. plot(x,y)
        z4 y4 |# \/ m! W
    8. set(gca,'xticklabel',[])%不显示x标注7 U8 u0 I6 {: j& X' e
    9. set(gca,'yticklabel',[])%不显示y标注6 u( B  W! j\" Y8 D& p
    10. c=get(gca,'color'); %获取axes背景色
      \" _  C, p$ h* i& E
    11. % set(gca,'xcolor',c,'ycolor',c) %设置标注杠颜色
      # Z9 i1 c3 `1 g
    12. grid on %加上网格
      2 c6 l0 ^% K* p, O2 _- G' ?
    13. if nargin==4# f3 H% Y& d' c5 h
    14. set(gca,'Xtick',Xticks); %设置Xtick
      3 H1 e0 ~- A& z4 A1 T0 a, S
    15. set(gca,'Ytick',Yticks); %设置Xtick
      & I$ O$ k! }3 P- B9 r
    16. xlim([Xticks(1),Xticks(end)]); %设置x范围
        m$ |4 i0 l0 ~- H' }* n
    17. ylim([Yticks(1),Yticks(end)]); %设置y范围+ _0 N5 J/ V7 P\" W\" a1 |
    18. end$ w  F) \( F5 x+ C: e/ h( A
    19. x=get(gca,'XTick'); %获取Xtick& ]\" }  F0 M: O
    20. y=get(gca,'YTick'); %获取Ytick4 k$ [# ]2 ?- }, U
    21. xL=xlim; %获取X范围
      0 `7 @0 s\" f+ Z9 v
    22. yL=ylim; %获取Y范围0 g  M9 N; Q7 J0 }1 N* }/ c( z7 t
    23. xcenter=mean(xL); %X中心4 F, Y: ?( m; [
    24. ycenter=mean(yL); %Y中心
      2 M: k- O' ~: X
    25. xrank=xL(2)-xL(1); %x跨度) ^; r1 p, ~6 g7 c/ H- f5 V
    26. yrank=yL(2)-yL(1); %y跨度
      ( x, A\" d# O# e7 L\" [! T- O5 g
    27. hold on;
      ( h' y$ L& f% ^* P) J
    28. plot(x,ycenter*ones(size(x)),'k',xcenter*ones(size(y)),y,'k') %画坐标轴
      8 Z8 K5 ^/ u  Y* I- v  d' r9 }2 \: V# P9 M
    29. ax=[max(x),max(x)-0.02*xrank,max(x)-0.02*xrank;...+ y\" F6 G8 s3 h# p( u. ^5 Q
    30. ycenter,ycenter+0.01*yrank,ycenter-0.01*yrank]; / o+ r0 X3 w& l. Q$ z2 r7 Z0 f4 R
    31. fill(ax(1,:),ax(2,:),'k'); %画x箭头
      % l( E4 W5 X\" {; u6 x: [! e+ x. M
    32. ay=[xcenter,xcenter+0.0065*xrank,xcenter-0.0065*xrank;...
      : F! t5 ~7 q& ]' }( T- J! L
    33. max(y),max(y)-0.03*yrank,max(y)-0.03*yrank];  ?8 P; g& v' s  V7 b) _3 M+ j' }
    34. fill(ay(1,:),ay(2,:),'k'); %画y箭头7 B  _& ~9 U/ G* q2 p) D
    35. Lx=length(x); %x的长度' s) C$ t$ A4 \
    36. plot(repmat(x(1,2:end-1)',1,11)',repmat(ycenter:0.002*yrank:...
      5 O; D- m  ~1 W
    37. ycenter+0.02*yrank,Lx-2,1)','k') %画x标注杠
      # x5 v3 S0 K) O2 G7 U/ V
    38. Ly=length(y);  A( _' F5 @. s- h, f
    39. plot(repmat(xcenter:0.002*xrank:xcenter+0.02*xrank,Ly-2,1)',...! }8 n' f6 ]2 T* i' A* Z9 k% Y
    40. repmat(y(1,2:end-1)',1,11)','k') %画y标注杠
      5 ]$ x1 C% ~3 N% D2 a, O
    41. for i=1:Lx$ J1 {4 h1 [  ?3 y# o0 m# t4 X
    42. text(x(i),(ycenter-0.03*yrank),num2str(x(i))); %x标注7 l; u3 h4 r2 a& G: j  o+ F/ ~
    43. end
      % X5 Y* j. s% ~& k  W% B7 _\" o6 k$ A
    44. for i=1:Ly
      2 F% I5 a5 o5 _1 E
    45. text(xcenter-0.05*xrank,y(i),num2str(y(i))); %y标注) q0 M+ R2 O: i) `
    46. end- x% D0 S% g. H0 u
    47. hold off;
      1 r* z5 @/ T( D. x* ~5 g/ \
    复制代码
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-10-23 08:34 , Processed in 0.364901 second(s), 55 queries .

    回顶部