QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5198|回复: 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 编辑
    - [3 O+ `0 d; ]0 P: H8 o6 L  K1 r  b% r, C' _  x
    今天忽然想到如何用matlab画十字坐标,不过句柄方面确实用的不熟,便从网上找到一段程序,经测试可用,如果使用时不想有边框,可再加上axis off和box off两条语句,程序源出处是http://www.ilovematlab.cn/viewth...p;extra=&page=9
    1. function plot_to_center(x,y,Xticks,Yticks)) a$ [$ N% @5 z1 R( C3 s- A
    2. if nargin~=2 & nargin~=4 %输入不满足要求则报错6 f- b; X1 x+ u  I% I
    3. error('??? 输入参数个数不对');
      ' w( C  a; ^2 c& T
    4. return;
      \" y. I  {1 Z\" n& I4 o/ Q% v
    5. end
      8 P! h4 u9 z4 j% L% W, d
    6. figure;
      9 z6 V2 d: ^* @4 r, l& k% P2 P! p
    7. plot(x,y)
      7 F$ J8 x  ]: }  I1 q
    8. set(gca,'xticklabel',[])%不显示x标注
      5 i2 S2 G$ D# _$ U
    9. set(gca,'yticklabel',[])%不显示y标注
      8 ^2 ~: E. k) \7 P  I4 M+ H
    10. c=get(gca,'color'); %获取axes背景色
      ' s0 T' X' h* Z- p7 j
    11. % set(gca,'xcolor',c,'ycolor',c) %设置标注杠颜色
      . x6 T3 F! t. O; T/ h# c! G
    12. grid on %加上网格
      2 @. u: v/ a  z5 X5 T' a4 [; e- W
    13. if nargin==4
      : @  T0 e& \5 z9 k8 {7 H7 T
    14. set(gca,'Xtick',Xticks); %设置Xtick) t8 C! o8 j; L* y
    15. set(gca,'Ytick',Yticks); %设置Xtick
      / M; O' b7 ?; E
    16. xlim([Xticks(1),Xticks(end)]); %设置x范围
      ; l6 \+ Z% |+ @( ^1 M
    17. ylim([Yticks(1),Yticks(end)]); %设置y范围  W) n# V; m+ L& I9 J! l6 \$ B' q
    18. end8 Y0 X5 Y1 X5 G
    19. x=get(gca,'XTick'); %获取Xtick; o, B4 |8 z- v7 n
    20. y=get(gca,'YTick'); %获取Ytick
      9 ]5 G/ n$ q: |% ^; N. W0 G
    21. xL=xlim; %获取X范围
      9 `% k7 w: x# V( R/ N
    22. yL=ylim; %获取Y范围
      ) m! b& d  |7 X\" L% r
    23. xcenter=mean(xL); %X中心
      3 f7 h% {; F& ]' N& H2 ]
    24. ycenter=mean(yL); %Y中心
      1 Q# s\" e# J/ g
    25. xrank=xL(2)-xL(1); %x跨度; Q/ t% t7 g9 {/ N
    26. yrank=yL(2)-yL(1); %y跨度7 Y6 L- p. c\" {5 `  M
    27. hold on;
      ) l' q% X8 w: _9 ^( U) ~; A: Y
    28. plot(x,ycenter*ones(size(x)),'k',xcenter*ones(size(y)),y,'k') %画坐标轴
      % `2 S: I3 _5 s% k! e
    29. ax=[max(x),max(x)-0.02*xrank,max(x)-0.02*xrank;...
        B- i2 A2 w7 u' l, |1 f
    30. ycenter,ycenter+0.01*yrank,ycenter-0.01*yrank]; 8 O( M+ K* D3 m& l3 R3 a
    31. fill(ax(1,:),ax(2,:),'k'); %画x箭头4 h) w; B. ^7 k9 O6 Y; e, x9 F
    32. ay=[xcenter,xcenter+0.0065*xrank,xcenter-0.0065*xrank;...& n) j( N\" Z* p
    33. max(y),max(y)-0.03*yrank,max(y)-0.03*yrank];9 \1 i) A! ~# a$ z& o. b; Z; G% l. E
    34. fill(ay(1,:),ay(2,:),'k'); %画y箭头
      \" \7 t  `* V5 Z6 _\" q6 T
    35. Lx=length(x); %x的长度
      . ~/ T' W, x) d, s) J% E
    36. plot(repmat(x(1,2:end-1)',1,11)',repmat(ycenter:0.002*yrank:...
      $ z7 @+ P) A, h) f/ K9 h6 @
    37. ycenter+0.02*yrank,Lx-2,1)','k') %画x标注杠$ y: a( E9 E% ], n7 ^' c! W9 G3 _
    38. Ly=length(y);1 w) d( L6 I5 q* {
    39. plot(repmat(xcenter:0.002*xrank:xcenter+0.02*xrank,Ly-2,1)',...
      ' j3 ?\" R5 A' o) M3 u
    40. repmat(y(1,2:end-1)',1,11)','k') %画y标注杠% q7 ^( D4 Z9 P! j\" k2 B0 m
    41. for i=1:Lx8 u0 q  z8 }7 [7 J$ U7 o; |
    42. text(x(i),(ycenter-0.03*yrank),num2str(x(i))); %x标注* M9 G0 Y9 R, V( N1 q& S2 |
    43. end
      5 v) J2 A6 ?! M8 ^. X
    44. for i=1:Ly0 P' G' q2 r. o# e; ?. n! `
    45. text(xcenter-0.05*xrank,y(i),num2str(y(i))); %y标注) k; O+ x! C8 Z) j7 [/ N$ h
    46. end9 G3 h/ c2 ~# {0 m  ^
    47. hold off;+ X; b' `: A. T, v3 @
    复制代码
    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-25 04:09 , Processed in 1.117913 second(s), 57 queries .

    回顶部