QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5067|回复: 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 编辑
      @/ E) [; p0 R9 M7 {8 o9 S% D% ?" z* _
    今天忽然想到如何用matlab画十字坐标,不过句柄方面确实用的不熟,便从网上找到一段程序,经测试可用,如果使用时不想有边框,可再加上axis off和box off两条语句,程序源出处是http://www.ilovematlab.cn/viewth...p;extra=&page=9
    1. function plot_to_center(x,y,Xticks,Yticks)4 c4 I1 V% `; P7 p
    2. if nargin~=2 & nargin~=4 %输入不满足要求则报错7 [# }2 L7 }# X\" y0 @( s2 E
    3. error('??? 输入参数个数不对');
      + z1 [, o7 P7 U8 S3 }/ M
    4. return;
      * M) x8 [; X. ~) y4 p9 x5 U
    5. end
      ; E- N/ V! K3 C: x/ V7 @# g  V1 j
    6. figure;  I$ G\" y- I3 u+ j4 E
    7. plot(x,y)) p* ~, k+ o, G- n* I* [2 F$ k8 r
    8. set(gca,'xticklabel',[])%不显示x标注
      5 m; n. u3 w, O4 E: l6 X+ ?
    9. set(gca,'yticklabel',[])%不显示y标注! j. |% H% c2 f\" w& M: u: Y
    10. c=get(gca,'color'); %获取axes背景色
      3 K6 E1 S) L9 c' S4 F) ?4 \7 X5 Z
    11. % set(gca,'xcolor',c,'ycolor',c) %设置标注杠颜色: P, g, f& P# U, ]8 R
    12. grid on %加上网格\" H% l; t& L# t
    13. if nargin==46 }! Q8 K5 n+ C% H; |1 d
    14. set(gca,'Xtick',Xticks); %设置Xtick
      , E0 s5 _9 s2 u1 D, L9 M# F* n% r
    15. set(gca,'Ytick',Yticks); %设置Xtick6 F$ p7 h\" z( e: C
    16. xlim([Xticks(1),Xticks(end)]); %设置x范围
      : \$ E4 C( h$ S2 _/ K
    17. ylim([Yticks(1),Yticks(end)]); %设置y范围0 j  U& u: A: b
    18. end
      6 O5 D0 e9 ?, `( A5 f
    19. x=get(gca,'XTick'); %获取Xtick, [/ M3 n1 d- L9 E1 `( v\" R
    20. y=get(gca,'YTick'); %获取Ytick
      3 |: F, j: Z. v7 ~5 t
    21. xL=xlim; %获取X范围
      & R6 J1 v( L9 h
    22. yL=ylim; %获取Y范围0 ]& n9 x\" ]- N% U& p
    23. xcenter=mean(xL); %X中心) M, ^, P0 o4 `) {+ F, C
    24. ycenter=mean(yL); %Y中心
      ! ^  i& w) ~; t\" {- G, p1 f5 M9 b
    25. xrank=xL(2)-xL(1); %x跨度
      ; W2 Q9 e& }* V& O$ P
    26. yrank=yL(2)-yL(1); %y跨度
      ' [2 }* [% a; Y0 S- u/ R
    27. hold on;
      + [7 }. M6 e1 a/ `( n
    28. plot(x,ycenter*ones(size(x)),'k',xcenter*ones(size(y)),y,'k') %画坐标轴
      5 j9 @# y$ `% a6 C3 A* O2 U; N
    29. ax=[max(x),max(x)-0.02*xrank,max(x)-0.02*xrank;...
      ( j2 t* [, y' S
    30. ycenter,ycenter+0.01*yrank,ycenter-0.01*yrank];
      - A( P- q3 Q% Z0 G' X. R
    31. fill(ax(1,:),ax(2,:),'k'); %画x箭头$ j& v$ R0 S5 I6 O0 p\" g& a
    32. ay=[xcenter,xcenter+0.0065*xrank,xcenter-0.0065*xrank;...
      * S/ U- _8 R# G6 ^1 z
    33. max(y),max(y)-0.03*yrank,max(y)-0.03*yrank];; J8 [6 L2 B* v* z* _/ p3 a. U8 v* H  l
    34. fill(ay(1,:),ay(2,:),'k'); %画y箭头! d1 B7 i0 P, n% `, k$ _# E$ E
    35. Lx=length(x); %x的长度( F# V* ~  \' ?+ u
    36. plot(repmat(x(1,2:end-1)',1,11)',repmat(ycenter:0.002*yrank:...
      1 |  Q- P. C6 K# _
    37. ycenter+0.02*yrank,Lx-2,1)','k') %画x标注杠4 ^, z0 C1 }3 h7 t3 R; F/ N. _1 {
    38. Ly=length(y);
      ) t+ F2 E. ^4 T( q
    39. plot(repmat(xcenter:0.002*xrank:xcenter+0.02*xrank,Ly-2,1)',...
      + a  s( ?# P% [
    40. repmat(y(1,2:end-1)',1,11)','k') %画y标注杠
      ! T5 X* i8 |; D! x( [; d8 }9 Y0 D; I
    41. for i=1:Lx
      1 _8 t+ k& ]! ^' N  s7 a7 k
    42. text(x(i),(ycenter-0.03*yrank),num2str(x(i))); %x标注
      , [+ t. h+ ?0 [' ?  \
    43. end, x1 A- s+ l2 D1 w) N4 J$ m
    44. for i=1:Ly
      * N5 v3 x! K+ H4 e% B, Y; W, {
    45. text(xcenter-0.05*xrank,y(i),num2str(y(i))); %y标注
      \" D! Y* u4 t1 e, i7 T, l0 S
    46. end! ]9 }1 {8 C+ D\" c! {
    47. hold off;) W. x3 m# b( N' f/ j6 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-4-20 13:19 , Processed in 0.741668 second(s), 54 queries .

    回顶部