mofangbao 发表于 2012-9-22 22:33:20

GrADS '神级'坐标轴,以后不要再抱怨GrADS的坐标轴了[清风原创]

未经本人允许,此贴谢绝任何转载
    一直听到有人抱怨,GrADS的坐标轴怎么那么固定,要设置个起始间隔还不支持时间轴,要在经纬度后面加个小圆圈的度数怎么就那么难,为啥不能四周都弄上坐标轴?

    好了,你的这些抱怨将会随着你看到这个帖子而消失,下面给出这个脚本的用法介绍:

                  注意:在你display变量前需要先设置如下两个命令                     
                     'set xlpos -20'                                                                           
                        'set ylpos -20'                                                                            
                  这样能够屏蔽GrADS自带的坐标轴,否则会出现坐标轴重叠         

请先display变量,再运行该脚本
该脚本主要实现了自定义的坐标轴显示,您可以免费使用该脚本
该脚本的用法规则如下:
#axis -param1 val1 -param2 val2...
其中,-param表示需要自定义的参数类型,val表示该参数的具体设定值
参数和参数值必须成对出现,例如
#axis -type b -position o -sinterval 2
上面的语句表示绘制类型是底部的x轴,刻度位置是朝外,每两个大的刻度之间显示两个小刻度线
#注意:-type是必选参数
所有参数如下所示:
-type :表示绘制类型,参数值有:b/l/t/r 分别表示底部,左侧,上部,右侧
-label:表示是否绘制数值标签,参数值有:on/off 分别表示绘制和不绘制
-position:表示刻度的位置,参数值有:o/i/m 分别表示外侧,内侧,中间
-start:表示刻度 从该处开始绘制,参数值为该轴范围内的数字
当该轴为时间轴时,表示开始绘制的时次(1,2,3...)
-end:表示刻度的结束位置,参数值范围同start,时间轴时表示结束的时刻(1,2,3...)                              
-interval:表示刻度的间隔,隔多少值绘制一个刻度和标签
例如,当x轴表示经度110-150E,如果interval为10,默认情况下会标出110,120,130,140,150
不给定该参数时,默认情况下,会绘制5个刻度,以此确定默认间隔
-sinterval:表示没两个大刻度之间要绘制几个小的刻度,不给定该参数则不绘制
-size:表示刻度的长度,单位是英寸,默认为0.1
-color:表示坐标轴和刻度标签的颜色,默认为1
-lfont:表示坐标轴标签的字体,默认为当前环境下设置的字体
-lsize:表示坐标轴标签的字体大小,默认为0.12
-lthick:表示坐标轴标签字体的粗细,默认为0.3
-langle:表示坐标轴标签旋转的角度,默认为不旋转
-suffix:表示需要在每个坐标轴标签后面添加的文字或者符号后缀,比如用来添加度数等
-asuffix:表示当坐标轴为经纬度轴时,是否自动添加E/W/N/S/EQ这种标记,默认为添加,
参数值为 on/off ,分别表示自动添加和关闭自动添加
-hoffset:表示坐标轴标签在水平方向上的偏移量,单位为英寸,正负均可
-voffset:表示坐标轴标签在垂直方向上的偏移量,单位为英寸,正负均可
-tformat:当所绘制坐标轴为时间轴时产生作用,表示要显示的时间格式
参数值为y m d h 这四个字母的任意组合,分别表示年月日时
如:-tformat my 则会将时间轴标签显示为JAN1951这种格式
-v:当绘制图形是1-D图(set gxout line等)的时候是必选参数,表示当前display的是哪个变量


来具体的看两个例子,这两个例子只是为了描述脚本的用法,所以不一定美观。
一、常见的经纬度等值线图(修改了经纬度小圆点的位置-2012年10月19日)


绘制该图的脚本如下:

#注意:先把该脚本放到opengrads的scripts文件夹,才能不写路径调用,否则请写完整路径
'reinit'
'sdfopen F:\projects\grads\ncep\air.mon.mean.nc'
'set mpdset mres'
'set parea 1 9.5 0.5 8'
'set grads off'
'set lon 70 140'
'set lat 15 55'
'set grid off'
'set xlpos -10'
'set ylpos -10'
'd air'
'run axis.gs -type b-position m -label on -interval 10 -sinterval 2 -size 0.2 -color 6-langle 45 -voffset -0.1'
'run axis.gs -type L-position o -start 20 -end 50 -suffix `3.'
'run axis.gs -type T-label on -asuffix off -position i -interval 10 -sinterval 5 -hoffset 0.1'
'run axis.gs -type R-label on -position o -sinterval 2-lfont 5 -lsize 0.15 -lthick 0.8'
'printim F:\projects\grads\test\test.pngpng white'
;


二、1-D图

绘制该图的脚本如下:

'reinit'
'sdfopen F:\projects\grads\ncep\air.mon.mean.nc'
'set parea 1 9.5 1 7.3'
'set grads off'
'set gxout line'
'set x 1'
'set y 1'
'set z 1'
'set t 1 10'
'set grid off'
'set xlpos -10'
'set ylpos -10'
'd air'
'run axis.gs -type b -v air -position o-tformat my-langle 45 -sinterval 3 -voffset -0.13 -hoffset -0.13'
'run axis.gs -type L -v air -position o -sinterval 3'
'run axis.gs -type T -v air -position o -tformat my -langle 45 -sinterval 3 -voffset 0.13 -hoffset 0.13'
'set gxout bar'
'set barbase top'
'set bargap 50'
'set ccolor 13'
'set z 15'
'd air'
'run axis.gs -type R -v air -position o -sinterval 3'
'printim F:\projects\grads\test\test1.pngpng white'
;


更多图形请去我的空间相册查看:http://bbs.06climate.com/home.php?mod=space&do=album&id=61

写这个脚本真是很累人,所以设置一个回复可见,不卖贡献值了,小雨及其以上级别可以下载。
毛毛雨们不要抱怨哈,小雨都是从毛毛雨过来的,用句很俗的话说,您的支持才是我们前进的最大动力啊
(最新版:2016年5月18日)
**** Hidden Message *****











灰色节能君 发表于 2020-3-24 12:58:16

支持一下               

秋天的禾禾 发表于 2012-9-24 18:07:35

{:eb325:}楼主辛苦哇,以后grads的坐标会越来越好看

mofangbao 发表于 2012-9-24 14:22:23

winter6789 发表于 2012-9-24 14:15 static/image/common/back.gif
grads的图通过脚本,才画出各种好图,谢谢!

怎么连续回复这么多?

ayzqs 发表于 2012-9-22 22:35:14

沙发?哈哈,今天刚请教你,这会就出来了,太给力了!

mofangbao 发表于 2012-9-22 22:38:23

ayzqs 发表于 2012-9-22 22:35 static/image/common/back.gif
沙发?哈哈,今天刚请教你,这会就出来了,太给力了!

昨天下午就开始写了,刚好今天看到你的提问,就顺便给你实现了一下

兰溪之水 发表于 2012-9-22 22:44:30

{:eb317:}大大好厉害~{:eb515:}

njzqxt 发表于 2012-9-22 22:44:32

本帖最后由 njzqxt 于 2012-9-22 22:45 编辑

排队等候{:soso_e179:}大作。

lotina 发表于 2012-9-22 23:40:08

{:eb317:}{:eb317:}{:eb317:}
有了你们这些大神,我是越来越爱GRADS了,感谢感谢!

mikado 发表于 2012-9-23 00:34:10

这还是原来的GrADS吗{:eb317:}

随缘 发表于 2012-9-23 08:39:25

{:e311_b:}{:e311_b:}vvvv5555

artmunich 发表于 2012-9-23 08:55:08

{:eb317:}迫不及待想要测试。。。求脚本

言深深 发表于 2012-9-23 09:22:47

矮油,我去{:eb334:}
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: GrADS '神级'坐标轴,以后不要再抱怨GrADS的坐标轴了[清风原创]