QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5053|回复: 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 编辑 0 }( c& M, c! p

    ( i; [0 w+ m6 V+ w# |7 s9 q今天忽然想到如何用matlab画十字坐标,不过句柄方面确实用的不熟,便从网上找到一段程序,经测试可用,如果使用时不想有边框,可再加上axis off和box off两条语句,程序源出处是http://www.ilovematlab.cn/viewth...p;extra=&page=9
    1. function plot_to_center(x,y,Xticks,Yticks)
      1 g9 L8 \% U\" h! M- A4 j
    2. if nargin~=2 & nargin~=4 %输入不满足要求则报错( X  O; a7 g0 U* z4 h. J! ~# i1 R
    3. error('??? 输入参数个数不对');
      - e: T/ }( y# j8 a! ~# U( S
    4. return;\" f& \; d( W) ?6 B. P% v& G
    5. end% f- c/ N# Q; N- g7 ?8 a  l, C\" B3 L# J
    6. figure;
      2 O) t, b) m2 G6 v* d( v4 U6 V
    7. plot(x,y)
      + w9 X! D1 n- }
    8. set(gca,'xticklabel',[])%不显示x标注
      ! w( a9 @% W\" V7 O1 o/ ]% S* X
    9. set(gca,'yticklabel',[])%不显示y标注' f6 V- W  w4 N\" p: n
    10. c=get(gca,'color'); %获取axes背景色\" B- D1 W7 d! a0 d$ \$ G6 C/ i
    11. % set(gca,'xcolor',c,'ycolor',c) %设置标注杠颜色
      7 `! X7 V) V- q1 B, v) y. ~! g
    12. grid on %加上网格
      ( I4 z  A8 d7 E# e: `: M! {' i
    13. if nargin==4$ O/ o5 ~; ^1 G) Y
    14. set(gca,'Xtick',Xticks); %设置Xtick/ w2 a) p1 M: N2 [
    15. set(gca,'Ytick',Yticks); %设置Xtick
      - k: ?5 Z  i& @: W: O- L2 `$ a7 G
    16. xlim([Xticks(1),Xticks(end)]); %设置x范围
      # D\" y0 ]# t% }$ h% w
    17. ylim([Yticks(1),Yticks(end)]); %设置y范围
      ) d- p7 B8 i- Y* o
    18. end
      . T. L7 Q0 J! {/ s
    19. x=get(gca,'XTick'); %获取Xtick
      ' s2 s7 T, r9 |3 H) e4 I7 l
    20. y=get(gca,'YTick'); %获取Ytick
      6 c/ t8 P4 |: m2 L# A' m
    21. xL=xlim; %获取X范围
      ; h/ R( I% Z2 j# o
    22. yL=ylim; %获取Y范围% X( Q' I+ p( G& f1 S
    23. xcenter=mean(xL); %X中心* n9 }8 W) M* }2 ?
    24. ycenter=mean(yL); %Y中心
      $ w+ o8 T  Q$ `1 i
    25. xrank=xL(2)-xL(1); %x跨度
      6 C/ n4 R7 L3 U\" i4 u
    26. yrank=yL(2)-yL(1); %y跨度7 y  G3 d. [. v- G# I% P
    27. hold on;
      5 Q) F5 Q' x+ V6 F% c
    28. plot(x,ycenter*ones(size(x)),'k',xcenter*ones(size(y)),y,'k') %画坐标轴
      1 |4 @2 e7 ~! Q2 [; w8 `0 K% E
    29. ax=[max(x),max(x)-0.02*xrank,max(x)-0.02*xrank;...
      7 ^6 ~0 F6 n! t3 ?5 R+ _
    30. ycenter,ycenter+0.01*yrank,ycenter-0.01*yrank];
      9 I2 {6 e% N2 b  {5 e
    31. fill(ax(1,:),ax(2,:),'k'); %画x箭头
      ; M! S  X8 ?5 J( x* ^5 V' U9 u- r
    32. ay=[xcenter,xcenter+0.0065*xrank,xcenter-0.0065*xrank;...
        Y+ T8 F- u! l, T- W
    33. max(y),max(y)-0.03*yrank,max(y)-0.03*yrank];
        W- B4 v$ D; J- @8 _0 \! Z, \
    34. fill(ay(1,:),ay(2,:),'k'); %画y箭头5 ]\" W# r, E8 W
    35. Lx=length(x); %x的长度+ u  L2 J* O( c% B: I1 i2 |
    36. plot(repmat(x(1,2:end-1)',1,11)',repmat(ycenter:0.002*yrank:...
      ) X& Z6 P$ a+ c$ x# P8 y/ S
    37. ycenter+0.02*yrank,Lx-2,1)','k') %画x标注杠( ]4 }: D! b4 b. ^  q/ X# ]9 T# W
    38. Ly=length(y);+ F( ]  ~( [/ Y( G6 s; i8 Q# g
    39. plot(repmat(xcenter:0.002*xrank:xcenter+0.02*xrank,Ly-2,1)',...
      9 ~3 `8 D3 U- z; }* K0 ]8 c+ \
    40. repmat(y(1,2:end-1)',1,11)','k') %画y标注杠
      7 f( v( f. W! Y4 [! e5 c( N
    41. for i=1:Lx+ O1 U; ~: z  G
    42. text(x(i),(ycenter-0.03*yrank),num2str(x(i))); %x标注5 o; a0 C1 J) j( a
    43. end3 Q+ ?! p* |\" t3 Y. f
    44. for i=1:Ly! e5 c6 \) F1 Y  L
    45. text(xcenter-0.05*xrank,y(i),num2str(y(i))); %y标注
      , ^  V7 b0 ?\" X5 u$ B$ s8 o6 H2 d
    46. end( F3 H1 {# P; U1 v
    47. hold off;
      1 M1 d: G\" y5 O9 Z2 b
    复制代码
    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-4-10 13:01 , Processed in 0.306408 second(s), 55 queries .

    回顶部