QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5197|回复: 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 编辑 , J% r) }3 W, F4 z" V; a( u

    2 w' D% k3 W% ^0 W3 g/ a今天忽然想到如何用matlab画十字坐标,不过句柄方面确实用的不熟,便从网上找到一段程序,经测试可用,如果使用时不想有边框,可再加上axis off和box off两条语句,程序源出处是http://www.ilovematlab.cn/viewth...p;extra=&page=9
    1. function plot_to_center(x,y,Xticks,Yticks)
      6 l1 _# N4 o8 @1 Y/ q/ _
    2. if nargin~=2 & nargin~=4 %输入不满足要求则报错
      ' e  W' c% D; T+ N! T$ J
    3. error('??? 输入参数个数不对');( C+ q& \  A0 i1 s9 u- U# x, z
    4. return;# [\" r\" u: H* [. K2 r8 A) e$ [
    5. end
      4 T) g1 X% L: {7 S& Z* C% j. G2 D
    6. figure;0 C$ ]/ D# ~% Y6 n& ?7 z
    7. plot(x,y)8 @) J! ^2 |6 U4 h\" n% _. O& \
    8. set(gca,'xticklabel',[])%不显示x标注
      $ X) ^* ^9 y5 Y7 [8 g6 N/ y
    9. set(gca,'yticklabel',[])%不显示y标注( U* B5 ^/ f5 H: U7 |\" @
    10. c=get(gca,'color'); %获取axes背景色
      \" p, v  ?; U6 Q. @0 [. ?& U
    11. % set(gca,'xcolor',c,'ycolor',c) %设置标注杠颜色& v- G  a4 W\" I# J
    12. grid on %加上网格
      ( U# M: X2 O% D- `7 E
    13. if nargin==43 N+ \' h; A% d) {6 m\" U0 s
    14. set(gca,'Xtick',Xticks); %设置Xtick4 p& j6 _6 s* a% p/ M
    15. set(gca,'Ytick',Yticks); %设置Xtick
      & M( l9 O- ?$ Z
    16. xlim([Xticks(1),Xticks(end)]); %设置x范围0 E& A( q; _/ w/ k- H& R
    17. ylim([Yticks(1),Yticks(end)]); %设置y范围
      ; R1 J3 [! J; T% e\" W& D
    18. end6 Q1 d/ I  A% p  j/ E2 Q2 D
    19. x=get(gca,'XTick'); %获取Xtick: p! Y- e- U4 v0 W6 L
    20. y=get(gca,'YTick'); %获取Ytick7 ~+ O) ^5 i) |  s! m& [& ], {
    21. xL=xlim; %获取X范围
      7 m( `+ l\" b$ r+ b; N2 m$ Y$ f% x
    22. yL=ylim; %获取Y范围  i7 M% w6 E- m\" ?  p
    23. xcenter=mean(xL); %X中心
      6 D3 v; G' T. n8 j0 K. N
    24. ycenter=mean(yL); %Y中心3 |0 O% B8 n) d
    25. xrank=xL(2)-xL(1); %x跨度% }9 K/ C4 S0 c2 `5 B& b) x7 I  A
    26. yrank=yL(2)-yL(1); %y跨度  Q) ]; }% _% w6 y: _1 C
    27. hold on;/ q8 Q/ P! y6 A$ ~! ~
    28. plot(x,ycenter*ones(size(x)),'k',xcenter*ones(size(y)),y,'k') %画坐标轴
      1 D& _: h6 a- F; k
    29. ax=[max(x),max(x)-0.02*xrank,max(x)-0.02*xrank;...* I\" u$ z6 e1 F, b1 D9 B6 A
    30. ycenter,ycenter+0.01*yrank,ycenter-0.01*yrank];
      & a- T0 P& ?3 v\" L$ U' c% A0 W! ~
    31. fill(ax(1,:),ax(2,:),'k'); %画x箭头) M1 o2 I4 t* m. r. F9 G
    32. ay=[xcenter,xcenter+0.0065*xrank,xcenter-0.0065*xrank;...
        _1 {, T7 e( q\" {; R
    33. max(y),max(y)-0.03*yrank,max(y)-0.03*yrank];
      8 n# T7 D2 Y7 Z. I- M- F6 a8 m
    34. fill(ay(1,:),ay(2,:),'k'); %画y箭头
      0 s5 D7 f) Y0 Y. o\" [
    35. Lx=length(x); %x的长度7 T6 R; Z! o6 n! m
    36. plot(repmat(x(1,2:end-1)',1,11)',repmat(ycenter:0.002*yrank:...
      $ P$ i) U( q+ |6 h* @, z
    37. ycenter+0.02*yrank,Lx-2,1)','k') %画x标注杠( X7 T+ K) C1 K* U8 K( t. a
    38. Ly=length(y);  q' u: T% |. k1 O\" o( M
    39. plot(repmat(xcenter:0.002*xrank:xcenter+0.02*xrank,Ly-2,1)',...
      ) t0 o1 K9 v. Y) R4 Z( n  X* T
    40. repmat(y(1,2:end-1)',1,11)','k') %画y标注杠\" p. K) Y- z; i( N+ o' G  T
    41. for i=1:Lx
      \" \. O& _) j! i$ ~4 R/ e+ d$ F
    42. text(x(i),(ycenter-0.03*yrank),num2str(x(i))); %x标注! ~7 Q+ H( t; i
    43. end0 [2 X7 d\" j( D4 w
    44. for i=1:Ly9 N8 u) x6 H0 H% U7 i$ `7 T* q1 n
    45. text(xcenter-0.05*xrank,y(i),num2str(y(i))); %y标注
      3 `9 K# s. M- u
    46. end
      \" U# P( i# u* V6 t
    47. hold off;
      % b2 R* z4 A! N* j1 ^$ \. {
    复制代码
    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-10-24 18:13 , Processed in 0.639736 second(s), 54 queries .

    回顶部