- 积分
- 18765
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-6-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 传说中的谁 于 2011-10-23 09:53 编辑
笨笨今晚在赶活,凌晨3:30终于算是完成了。这个过程当中想到一个问题,就是关于GrADS中色表(颜色值)的自定义和使用。个人一直觉得GrADS自带的色表(define_color.gs)过于粗糙,另外一个问题是颜色不好控制,比如说想用冷暖两种色调来表示正负值的时候,用自带色表就很难操作。于是笨笨根据需要定义了自己的色表。下面给出示例和使用方法:
首先在GrADS安装目录的lib文件夹里新建一个色表的gs文件(笨笨命名为color.gs),内容如下:
颜色值必须大于15,因为0~15已经被GrADS占用了!
- 'set rgb 21 165 0 0'
- 'set rgb 22 192 0 0'
- 'set rgb 23 225 20 0'
- 'set rgb 24 255 50 0'
- 'set rgb 25 255 96 0'
- 'set rgb 26 255 160 0'
- 'set rgb 27 255 192 60'
- 'set rgb 28 255 232 120'
- 'set rgb 29 255 250 170'
- 'set rgb 30 150 210 250'
- 'set rgb 31 120 185 250'
- 'set rgb 32 80 165 245'
- 'set rgb 33 60 150 245'
- 'set rgb 34 40 130 240'
- 'set rgb 35 30 110 235'
- 'set rgb 36 20 100 210'
- 'set rgb 37 10 80 190'
- 'set rgb 38 5 40 150'
- 'set rgb 39 0 20 120'
复制代码 然后就是在绘图的gs文件中使用自定义色标了,给出一段示例的代码:- 'reinit'
- 'open e:/1013/data.ctl'
- 'set lon 0 180'
- 'set lat 0 90'
- 'set lev 850'
- 'define DIV=hdivg(ugrdprs,vgrdprs)'
- 'set gxout shaded'
- 'set cint 1'
- 'run color.gs'
- 'set rbrange -10 10'
- 'set csmooth on'
- 'd DIV*1E5'
- 'cbarn 0.9 1 10.5'
- 'printim e:/1013/mellen.GIF white y768 x1024'
复制代码 对上述代码做一些解释。其中最重要的一行是'run color.gs',这行代码的作用就是使用自己定义的色表了。如果没有这一句的话,GrADS会使用其自带的色表。另外就是'set rbrange -10 10',这一句的作用是控制颜色与数据中的值相对应,例如,数据中的值的范围是-10——9,绘图的间隔是1,那么颜色值21就与-10对应,22与-9对应,以此类推。随便介绍一下'set rbrange min max'中min和max取值的一点小技巧吧,可以在初次绘图时使用默认色标,会出填色图之后用‘cbarn’看数据的取值范围(min——max),然后在使用自定义色表时把刚才得到的取值范围对应的写到'set rbrange min max'中。啰嗦一下,对cbarn的参数做一些说明,以示例代码中的值为例,0.9是表示色标的尺寸,1是表示以垂直的方式显示色标(0是水平,放在图片下方),10.5是色标中心的位置,当以垂直方式显示时,就是以虚页中x=10.5为中心显示色标(当显示方式为0时,则是其中心的y坐标值)
附上一张效果图
|
评分
-
查看全部评分
|