爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6176|回复: 2

[分享资料] 请教关于利用XYLAB 加圈的疑问

[复制链接]

新浪微博达人勋

发表于 2012-6-6 17:12:56 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
我的设置是 set lat 28 38
                   set lon 108 120
图1是利用XYLAB所画,图2是未使用XYLAB所画 ,对比发现图1的X和Y轴标注不全,缺坐标的头尾坐标—108 120 28 38
为何不能像图2那样显示坐标,应如何修改程序,请高手们不吝赐教。本人为初学,XYLAB的程序也已经琢磨一番,但仍百思不得其解,还请指导一二,先谢谢了。 另外如何去掉坐标右边和上面的刻度线呀?





以下是所使用的XYLAB.GS文件
  1. *************************************************************
  2. *  Author: wave                                             *
  3. *                                                           *
  4. *  last modified :   Apr 10, 2003                           *
  5. *************************************************************
  6. * This GrADS script is used to redraw the axis labels   
  7. *============================================================
  8. *
  9. function xylab(args)
  10. ******************   USAGE   *************************************
  11. ff=subwrd(args,1)
  12. usage0="suggest to use 'set xlab off' ; 'set ylab off' in your main GS"
  13. usage1="usage: xylab  lons lone londel lats late latdel strsiz font thick ticbg ticsm"
  14. usage2="lons        start of longitude"
  15. usage3="lone        end of longitude"
  16. usage4="londel      interval of small longitude tics"
  17. usage5="lats        start of latitude"
  18. usage6="late        end of latitude"
  19. usage7="strsiz      size of tic label"
  20. usage8="font        font number of tic label"
  21. usage9="thick       thickness of axises and tics"
  22. usage10="ticbg      size of big tics"
  23. usage11="ticsm      size of small tics"
  24. usage12="If any keyword misses a value, the function dose not work"
  25. if (ff='')
  26. say usage1
  27. say usage2
  28. say usage3
  29. say usage4
  30. say usage5
  31. say usage6
  32. say usage7
  33. say usage8
  34. say usage9
  35. say usage10
  36. say usage11
  37. say usage12
  38. return
  39. endif
  40. xsta=subwrd(args,1)
  41. xend=subwrd(args,2)
  42. xdel=subwrd(args,3)
  43. ysta=subwrd(args,4)
  44. yend=subwrd(args,5)
  45. ydel=subwrd(args,6)
  46. strsiz=subwrd(args,7)
  47. fnt=subwrd(args,8)
  48. thick=subwrd(args,9)
  49. tic1=subwrd(args,10)
  50. tic2=subwrd(args,11)
  51. if(strsiz != '');'set strsiz 'strsiz' 'strsiz*0.9'';endif
  52. if(tic1 = '' | tic2 = '');tic1=0.035;tic2=0.06;endif
  53. if(fnt = '');fnt=0;endif
  54. xpts=(xend-xsta)/xdel
  55. ypts=(yend-ysta)/ydel
  56. 'q dims'
  57. ll=sublin(result,2)
  58. xv=subwrd(ll,3)
  59. ll=sublin(result,3)
  60. yv=subwrd(ll,3)
  61. ll=sublin(result,4)
  62. zv=subwrd(ll,3)
  63. if(xv = fixed);l1=3;l2=4;endif
  64. if(yv = fixed);l1=2;l2=4;endif
  65. if(zv = fixed);l1=2;l2=3;endif
  66. xx=sublin(result,l1)
  67. yy=sublin(result,l2)
  68. lon1=subwrd(xx,6);lon2=subwrd(xx,8)
  69. lat1=subwrd(yy,6);lat2=subwrd(yy,8)
  70. 'q gxinfo'
  71. recx=sublin(result,3)
  72. recy=sublin(result,4)
  73. xdl=subwrd(recx,4)
  74. xur=subwrd(recx,6)
  75. ydl=subwrd(recy,4)
  76. yur=subwrd(recy,6)
  77. if(thick != 0 & thick != '')
  78. 'set line 0 1 6'
  79. 'draw rec 'xdl' 'ydl' 'xur' 'yur''
  80. xdl=xdl+0.005;xur=xur-0.007;ydl=ydl+0.007;yur=yur-0.005
  81. 'set line 1 1 'thick''
  82. 'draw rec 'xdl' 'ydl' 'xur' 'yur''
  83. endif
  84. x1=xdl;y1=ydl;x2=xur;y2=yur
  85. 'set line 1 1 3'
  86. 'set string 1 tc 4'
  87. i=0
  88. while(i<xpts+1)
  89. 'q w2xy 'xsta+i*xdel' 'lat1''
  90.   xdl=subwrd(result,3);ydl=y1
  91.   if(xdl > x1 & xdl < x2)
  92.      'draw line 'xdl' 'ydl' 'xdl' 'ydl-tic2''
  93.     if(xv = varying)   
  94.       if(xsta+i*xdel < 180)
  95.         'draw string 'xdl' 'ydl-tic2-0.015' `'fnt''xsta+i*xdel'`3.`'fnt'E'
  96.       endif
  97.       if(xsta+i*xdel > 180)
  98.         'draw string 'xdl' 'ydl-tic2-0.015' `'fnt''360-xsta-i*xdel'`3.`'fnt'W'
  99.       endif
  100.       if(xsta+i*xdel = 180)
  101.         'draw string 'xdl' 'ydl-tic2-0.015' `'fnt''xsta+i*xdel'`3.'
  102.       endif   
  103.     else
  104.       if(xsta+i*xdel < 0)
  105.        'draw string 'xdl' 'ydl-tic2-0.015' `'fnt''0-xsta-i*xdel'`3.`'fnt'S'
  106.       endif
  107.       if(xsta+i*xdel > 0)
  108.        'draw string 'xdl' 'ydl-tic2-0.015' `'fnt''xsta+i*xdel'`3.`'fnt'N'
  109.       endif
  110.       if(xsta+i*xdel =0)
  111.         'draw string 'xdl' 'ydl-tic2-0.015' `'fnt'EQ'
  112.       endif
  113.     endif
  114.   endif
  115. i=i+2
  116. endwhile
  117. i=1
  118. while(i<xpts+1)
  119. 'q w2xy 'xsta+i*xdel' 'lat1''
  120.   xdl=subwrd(result,3);ydl=y1
  121.   if(xdl > x1 & xdl < x2)
  122.    'draw line 'xdl' 'ydl' 'xdl' 'ydl-tic1''
  123.   endif
  124.   i=i+2
  125. endwhile
  126. i=0
  127. while(i<xpts+1)
  128. 'q w2xy 'xsta+i*xdel' 'lat2''
  129.   xdl=subwrd(result,3);ydl=y2
  130.   if(xdl > x1 & xdl < x2)
  131.     'draw line 'xdl' 'ydl' 'xdl' 'ydl+tic2''
  132.   endif
  133. i=i+2
  134. endwhile
  135. i=1
  136. while(i<xpts+1)
  137. 'q w2xy 'xsta+i*xdel' 'lat2''
  138.   xdl=subwrd(result,3);ydl=y2
  139.   if(xdl > x1 & xdl < x2)
  140.     'draw line 'xdl' 'ydl' 'xdl' 'ydl+tic1''
  141.   endif
  142.   i=i+2
  143. endwhile
  144. 'set string 1 r 4'
  145. i=0
  146. while(i<ypts+1)
  147. 'q w2xy 'lon1' 'ysta+i*ydel''
  148.   xdl=x1;ydl=subwrd(result,6)
  149.   if(ydl > y1 & ydl < y2)
  150.     'draw line 'xdl' 'ydl' 'xdl-tic2' 'ydl''
  151.     if(zv = varying)
  152.         'draw string 'xdl-tic2-0.015' 'ydl' `'fnt''ysta+i*ydel''
  153.     else
  154.       if(ysta+i*ydel < 0)
  155.         'draw string 'xdl-tic2-0.015' 'ydl' `'fnt''0-ysta-i*ydel'`3.`'fnt'S'
  156.       endif
  157.       if(ysta+i*ydel > 0)
  158.         'draw string 'xdl-tic2-0.015' 'ydl' `'fnt''ysta+i*ydel'`3.`'fnt'N'
  159.       endif   
  160.       if(ysta+i*ydel =0)
  161.         'draw string 'xdl-tic2-0.015' 'ydl' `'fnt'EQ'
  162.       endif
  163.     endif
  164.   endif
  165.   i=i+2
  166. endwhile
  167. i=1
  168. while(i<ypts+1)
  169. 'q w2xy 'lon1' 'ysta+i*ydel''
  170.   xdl=x1;ydl=subwrd(result,6)
  171.   if(ydl > y1 & ydl < y2)
  172.     'draw line 'xdl' 'ydl' 'xdl-tic1' 'ydl''
  173.   endif
  174.   i=i+2
  175. endwhile
  176. i=0
  177. while(i<ypts+1)
  178. 'q w2xy 'lon2' 'ysta+i*ydel''
  179.   xdl=x2;ydl=subwrd(result,6)
  180.   if(ydl > y1 & ydl < y2)
  181.     'draw line 'xdl' 'ydl' 'xdl+tic2' 'ydl''
  182.   endif
  183.   i=i+2
  184. endwhile
  185. i=1
  186. while(i<ypts+1)
  187. 'q w2xy 'lon2' 'ysta+i*ydel''
  188.   xdl=x2;ydl=subwrd(result,6)
  189.   if(ydl > y1 & ydl < y2)
  190.     'draw line 'xdl' 'ydl' 'xdl+tic1' 'ydl''
  191.   endif
  192.   i=i+2
  193. endwhile
  194. 'set string 1 c 4'
  195. return

2.jpg
1.jpg
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2012-6-6 17:46:08 | 显示全部楼层
你调用的语句是什么
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-6-6 18:11:43 | 显示全部楼层
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表