QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5141|回复: 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 x/ f# a% [4 b+ P" l/ m
    9 k# @/ u7 i$ `* p/ S8 F2 k% \
    今天忽然想到如何用matlab画十字坐标,不过句柄方面确实用的不熟,便从网上找到一段程序,经测试可用,如果使用时不想有边框,可再加上axis off和box off两条语句,程序源出处是http://www.ilovematlab.cn/viewth...p;extra=&page=9
    1. function plot_to_center(x,y,Xticks,Yticks)
      - r+ e* f+ ^: |; @; @! U
    2. if nargin~=2 & nargin~=4 %输入不满足要求则报错
      * l8 U5 L0 o5 g3 i6 m
    3. error('??? 输入参数个数不对');
      \" ~/ p' n8 |' Q$ e3 O+ O
    4. return;
      * b: ]& U2 Z$ u5 {9 r* K( g$ p, g
    5. end  d\" Z9 w3 F\" G$ y% n
    6. figure;
      5 `7 B3 M2 @, t( {0 @
    7. plot(x,y)
      , o8 l9 f2 f! g& T4 O
    8. set(gca,'xticklabel',[])%不显示x标注/ E7 I' i: K, C/ G% s
    9. set(gca,'yticklabel',[])%不显示y标注
      , u8 X/ B, [6 g- K
    10. c=get(gca,'color'); %获取axes背景色
      \" Z1 Y9 Y1 t2 ]% I& I5 _$ K
    11. % set(gca,'xcolor',c,'ycolor',c) %设置标注杠颜色5 D6 F( |. r/ J: b
    12. grid on %加上网格
      7 ~: x6 h0 S& v4 J
    13. if nargin==4
        @* p, K\" F4 w- r4 t
    14. set(gca,'Xtick',Xticks); %设置Xtick$ r0 _$ r8 k' K4 Q; V# ^5 i
    15. set(gca,'Ytick',Yticks); %设置Xtick
      ; L4 g0 r\" G3 o7 x: A# w8 U* i
    16. xlim([Xticks(1),Xticks(end)]); %设置x范围. U1 R& c0 S% S( f/ ]* G+ o
    17. ylim([Yticks(1),Yticks(end)]); %设置y范围/ t4 N' R. z$ {& z! I
    18. end  m9 P0 z4 F. _& ]% W
    19. x=get(gca,'XTick'); %获取Xtick
      \" ?# w9 o# ^0 [+ g
    20. y=get(gca,'YTick'); %获取Ytick
      / O! B# Z; `- x
    21. xL=xlim; %获取X范围
      7 C* V+ Y8 ]5 I4 y0 b
    22. yL=ylim; %获取Y范围
      2 f/ z# H, ]& ]( {; b/ g  ^( X, _
    23. xcenter=mean(xL); %X中心
      + r. L* K0 }3 Q  L8 g  N6 e
    24. ycenter=mean(yL); %Y中心: Z  v) ]0 c- }3 b7 ?; z1 B$ z+ J
    25. xrank=xL(2)-xL(1); %x跨度
      8 S2 v' [5 T) }; ?  r
    26. yrank=yL(2)-yL(1); %y跨度
      + A& F. v4 Q! Y
    27. hold on;  c' u8 a  {3 S* g
    28. plot(x,ycenter*ones(size(x)),'k',xcenter*ones(size(y)),y,'k') %画坐标轴
      5 o) G4 G- ?5 n6 a3 M' U  J
    29. ax=[max(x),max(x)-0.02*xrank,max(x)-0.02*xrank;...
      9 o' t+ v9 N$ Y- J' a) l
    30. ycenter,ycenter+0.01*yrank,ycenter-0.01*yrank];
      \" w1 Y) \' P7 Y; Z# X
    31. fill(ax(1,:),ax(2,:),'k'); %画x箭头
      . |1 B. G% Y3 y5 q1 I' ]
    32. ay=[xcenter,xcenter+0.0065*xrank,xcenter-0.0065*xrank;...3 h5 u. Q& p' k' i( }9 z! D: m0 B
    33. max(y),max(y)-0.03*yrank,max(y)-0.03*yrank];
        e) u# t2 _6 {4 V\" [( f- i) \
    34. fill(ay(1,:),ay(2,:),'k'); %画y箭头
      5 h( |; T! _( i8 W: ^0 E
    35. Lx=length(x); %x的长度. n' Q5 u5 }) T) C, B
    36. plot(repmat(x(1,2:end-1)',1,11)',repmat(ycenter:0.002*yrank:...
      * N2 {5 ?% `4 I: i. L: q
    37. ycenter+0.02*yrank,Lx-2,1)','k') %画x标注杠6 i7 `, G' l$ ]0 [5 F; b8 ^
    38. Ly=length(y);
      . j7 R1 T5 o\" {3 j$ g' t: Y- ?6 q+ s
    39. plot(repmat(xcenter:0.002*xrank:xcenter+0.02*xrank,Ly-2,1)',...
      / Z: ]7 H, j  G' ?; N2 t. w5 A
    40. repmat(y(1,2:end-1)',1,11)','k') %画y标注杠% c$ |\" }+ [  h9 w, ]* X, z& J' G
    41. for i=1:Lx, V- D* N+ R: w# @' @4 J
    42. text(x(i),(ycenter-0.03*yrank),num2str(x(i))); %x标注
        h0 u\" s, }) C1 U5 B* D( H* |
    43. end; s* c& S# a/ K' `; c; k! m- D
    44. for i=1:Ly
      ) e  H5 c' v% k, S3 S: R
    45. text(xcenter-0.05*xrank,y(i),num2str(y(i))); %y标注
      $ U/ {: t' q( [& F$ y2 T4 \0 R\" q
    46. end1 d+ M+ ?: {% E) V3 B6 K  _' K6 v
    47. hold off;3 d  N' d- S& I& z7 @
    复制代码
    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-8-26 08:10 , Processed in 0.587703 second(s), 58 queries .

    回顶部