QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5095|回复: 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 编辑
    1 X  A- k8 R/ S2 }( f
    : Y& L0 r- `( X( q2 T4 z* r/ `/ X# `今天忽然想到如何用matlab画十字坐标,不过句柄方面确实用的不熟,便从网上找到一段程序,经测试可用,如果使用时不想有边框,可再加上axis off和box off两条语句,程序源出处是http://www.ilovematlab.cn/viewth...p;extra=&page=9
    1. function plot_to_center(x,y,Xticks,Yticks)
      - J2 C4 N# U! ~, v
    2. if nargin~=2 & nargin~=4 %输入不满足要求则报错5 n( {: D+ I! B$ r
    3. error('??? 输入参数个数不对');: L1 ]% V4 T, b0 _* C
    4. return;. D0 q; p$ l9 q5 `+ ?$ R. z% v% N
    5. end9 e$ p+ M3 s3 A) w' ~0 d
    6. figure;
      8 [' d; R  |6 ]0 F# ?/ Y; m6 w2 z
    7. plot(x,y)* [/ A, k% R# r6 z/ B\" |
    8. set(gca,'xticklabel',[])%不显示x标注- z6 g4 O% k  ?- ]! h
    9. set(gca,'yticklabel',[])%不显示y标注
      3 |' T1 Z( {  `/ i
    10. c=get(gca,'color'); %获取axes背景色
      * L/ y8 _6 Q2 b' \. b4 X+ \
    11. % set(gca,'xcolor',c,'ycolor',c) %设置标注杠颜色
      ' j+ U5 R7 A& ?6 [
    12. grid on %加上网格: [5 {8 z$ x7 [3 U1 W
    13. if nargin==4
      % G2 p  D) M9 P4 G) t
    14. set(gca,'Xtick',Xticks); %设置Xtick
      ) y# \9 `* G7 M1 S) a: C
    15. set(gca,'Ytick',Yticks); %设置Xtick
      : n: S* R8 S% V- U% {
    16. xlim([Xticks(1),Xticks(end)]); %设置x范围% [* p6 V) x9 X6 q! i/ f2 r; X3 r
    17. ylim([Yticks(1),Yticks(end)]); %设置y范围: H8 Q\" Q* f+ F) T7 ]5 e2 ]' j
    18. end% Q; A9 L9 L9 w. w2 H
    19. x=get(gca,'XTick'); %获取Xtick
      3 S- ^  _5 A9 K& Q7 Q( \5 K& G
    20. y=get(gca,'YTick'); %获取Ytick3 \- e# x( K9 }' g# |. L( n( j7 n
    21. xL=xlim; %获取X范围
      ( F8 A* L' }% `- w4 u0 ^6 K& a* X
    22. yL=ylim; %获取Y范围
      1 I' `# v# v) ~* ?
    23. xcenter=mean(xL); %X中心
      ) L, z: p  \. x: b0 Z8 ?! F
    24. ycenter=mean(yL); %Y中心
      0 L$ A: c1 G6 I* d( B
    25. xrank=xL(2)-xL(1); %x跨度
      3 H# V) ]! h( d  _4 s
    26. yrank=yL(2)-yL(1); %y跨度+ m: l0 n  H+ i4 M9 k* c% K
    27. hold on;
      7 c& i) O  Q& c2 Z& P+ a
    28. plot(x,ycenter*ones(size(x)),'k',xcenter*ones(size(y)),y,'k') %画坐标轴
      # w- G  e' a# _% X
    29. ax=[max(x),max(x)-0.02*xrank,max(x)-0.02*xrank;...
      * Z+ C* _( m9 u; O+ W' n
    30. ycenter,ycenter+0.01*yrank,ycenter-0.01*yrank];
      ! x) @) J* t* x/ ?7 B6 v
    31. fill(ax(1,:),ax(2,:),'k'); %画x箭头
      + S% r* ?8 ]/ j) h, _6 c\" [
    32. ay=[xcenter,xcenter+0.0065*xrank,xcenter-0.0065*xrank;...0 P0 k8 D. V- k' F
    33. max(y),max(y)-0.03*yrank,max(y)-0.03*yrank];
      . ?' p# X+ F- f, [1 c0 e! V% T
    34. fill(ay(1,:),ay(2,:),'k'); %画y箭头- }\" L+ E+ s  }
    35. Lx=length(x); %x的长度2 ^8 o$ O- b& Z+ ^9 X
    36. plot(repmat(x(1,2:end-1)',1,11)',repmat(ycenter:0.002*yrank:...- w$ C) c\" u/ R# @\" Y
    37. ycenter+0.02*yrank,Lx-2,1)','k') %画x标注杠
      # U! J# Z2 }$ ~7 t$ R: o( ~/ S$ t4 `
    38. Ly=length(y);7 J. [9 K2 @1 K0 D. t- O% i
    39. plot(repmat(xcenter:0.002*xrank:xcenter+0.02*xrank,Ly-2,1)',...\" {3 n! f$ R4 s% G; ~: p
    40. repmat(y(1,2:end-1)',1,11)','k') %画y标注杠
      ; W/ F) d6 u9 _
    41. for i=1:Lx
      ' S% L; U, I( g9 N/ w( g4 f5 f
    42. text(x(i),(ycenter-0.03*yrank),num2str(x(i))); %x标注# k0 _6 g  o: ~; n
    43. end# V: W6 Y! N' l6 ?% i
    44. for i=1:Ly
      3 `/ ~5 w  b) o3 A5 R+ Y
    45. text(xcenter-0.05*xrank,y(i),num2str(y(i))); %y标注! c  I6 ]( `' X6 R' D9 K' T
    46. end
      ; ^7 W0 P: j: g, {6 h: c3 A  F
    47. hold off;
      - v# ?* t8 [; f7 Z6 Y1 `\" F* m: |
    复制代码
    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-6-17 23:28 , Processed in 0.509579 second(s), 55 queries .

    回顶部