QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5108|回复: 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 编辑 ' W$ M2 N" T7 r$ C8 H* b
    2 c% ?; n, P$ M
    今天忽然想到如何用matlab画十字坐标,不过句柄方面确实用的不熟,便从网上找到一段程序,经测试可用,如果使用时不想有边框,可再加上axis off和box off两条语句,程序源出处是http://www.ilovematlab.cn/viewth...p;extra=&page=9
    1. function plot_to_center(x,y,Xticks,Yticks)
      ) N; j3 Y$ X! R2 w) w- K- g* a
    2. if nargin~=2 & nargin~=4 %输入不满足要求则报错# Z( a1 p* p3 W8 w. T
    3. error('??? 输入参数个数不对');1 q. M( P4 U% G# E  c4 u5 @
    4. return;1 J$ X0 f3 u: r8 z7 y
    5. end! I- A+ K2 z+ M; ^1 |2 {
    6. figure;
      2 N( A3 d  l$ u2 h. z. X2 j
    7. plot(x,y)4 a- q( C; `% q7 F4 A* e% s
    8. set(gca,'xticklabel',[])%不显示x标注
      , l3 @  b8 f+ h7 H3 N# t& [
    9. set(gca,'yticklabel',[])%不显示y标注2 K! I+ T7 T9 o5 l4 E9 b4 v2 m
    10. c=get(gca,'color'); %获取axes背景色: r* r% E- Y) J; q  n
    11. % set(gca,'xcolor',c,'ycolor',c) %设置标注杠颜色# N3 J! @. Q# Q. b: J' D9 o+ }9 f% L
    12. grid on %加上网格
      6 k6 C3 X/ c- B. A- k! Z5 x2 Z
    13. if nargin==4
      $ ]4 b+ U6 o) y9 I2 |! t( z: y\" ~
    14. set(gca,'Xtick',Xticks); %设置Xtick7 ^# L3 P5 _9 K9 c
    15. set(gca,'Ytick',Yticks); %设置Xtick) s# ]9 Q9 z4 z: R% ~, i6 @# i6 j
    16. xlim([Xticks(1),Xticks(end)]); %设置x范围
      0 N5 ~) J! s1 ], S6 ~7 |5 X5 b
    17. ylim([Yticks(1),Yticks(end)]); %设置y范围
      & V# t: ^4 i1 {
    18. end6 u, L: ?# l! e, e
    19. x=get(gca,'XTick'); %获取Xtick
      ! C3 F7 G3 N+ ?
    20. y=get(gca,'YTick'); %获取Ytick
      % ~# p5 o) r9 S/ O6 c0 K, \5 {6 C
    21. xL=xlim; %获取X范围
      & p0 u) C; J. ?3 Q3 ~6 `
    22. yL=ylim; %获取Y范围
        S2 h. \, B( g$ w
    23. xcenter=mean(xL); %X中心
      ' A5 d6 }0 a1 p9 {: r\" W# h; t) [& t
    24. ycenter=mean(yL); %Y中心
      + K& ^7 w# t! V; i. z8 G! i9 _0 T
    25. xrank=xL(2)-xL(1); %x跨度
      2 S. \& L2 W+ A$ z5 j
    26. yrank=yL(2)-yL(1); %y跨度! X4 l2 }. r6 L\" A5 P
    27. hold on;) D+ m% N( U( s# c
    28. plot(x,ycenter*ones(size(x)),'k',xcenter*ones(size(y)),y,'k') %画坐标轴
        n$ \8 v& l& n6 `( L# m- J4 Y
    29. ax=[max(x),max(x)-0.02*xrank,max(x)-0.02*xrank;...1 j! _! o8 ^. W! \. ]& a6 s
    30. ycenter,ycenter+0.01*yrank,ycenter-0.01*yrank]; ( X' \' }  w6 y$ m, t3 P1 h
    31. fill(ax(1,:),ax(2,:),'k'); %画x箭头( a% @5 Q1 ^: c! X+ s$ s
    32. ay=[xcenter,xcenter+0.0065*xrank,xcenter-0.0065*xrank;...
      8 l3 c: A4 w, e: A) g
    33. max(y),max(y)-0.03*yrank,max(y)-0.03*yrank];
      ) [+ K' n8 }* [- J8 v+ g! ?
    34. fill(ay(1,:),ay(2,:),'k'); %画y箭头. `5 |1 k! o\" D: N5 I. x* N  S
    35. Lx=length(x); %x的长度
      ) M7 G+ K\" F2 A
    36. plot(repmat(x(1,2:end-1)',1,11)',repmat(ycenter:0.002*yrank:...
      ) j9 x# q5 S# w' `( z( O
    37. ycenter+0.02*yrank,Lx-2,1)','k') %画x标注杠
      1 j7 d, [1 m+ i4 U. |6 v
    38. Ly=length(y);
      - t2 R+ Z  l4 R# Y7 J8 Y
    39. plot(repmat(xcenter:0.002*xrank:xcenter+0.02*xrank,Ly-2,1)',...
      7 D: N: p$ G, y1 W\" L! b& F
    40. repmat(y(1,2:end-1)',1,11)','k') %画y标注杠7 q, q# e0 D: [- A\" S6 d4 [5 \
    41. for i=1:Lx8 W\" [6 D\" d4 w3 s) M* ~
    42. text(x(i),(ycenter-0.03*yrank),num2str(x(i))); %x标注
      ; _) G. D0 m* n1 O
    43. end
      \" L* V  z3 a! Z8 _5 t
    44. for i=1:Ly\" ^+ o0 `) k\" d. T- `: }+ a' K
    45. text(xcenter-0.05*xrank,y(i),num2str(y(i))); %y标注+ I* I! y& F1 o/ m8 |
    46. end\" n( a4 m: K& }4 g% l
    47. hold off;/ Y/ K& g! a: \( m/ v6 u+ p
    复制代码
    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-7-11 06:59 , Processed in 1.285680 second(s), 55 queries .

    回顶部