登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 Aires 于 2012-10-5 09:37 编辑
之前画填色图的时候,才发现了一些问题,在此分享,如有其他好的经验欢迎及时留言分享~ 画等值线图大家应该没有什么问题,一般就是设定等值线的颜色、粗细、标记方式、间距等。但是填色图是怎样实现的呢?如果你设置的间距过小,会不会导致彩虹色不够用呢?如果过大,彩虹色又是怎么分配的呢?现在就告诉答案:其实你根本就不用管这么多!只管设置彩虹色和等值线就好了!其他的系统会自动分配。如果你不满意,可以再重新设置间距来调整。下面就以上问题展开讨论: 以下以GrADS自带的model.ctl描述文件为例,绘制全球5天平均气温分布图。脚本如下: 'reinit'
'open d:\gradsex\gradsdata\model.ctl'
'set map 1 1 10'
'set grads off'
'set grid off'
'set lon 0 360'
'set lat -90 90'
'define ta=ave(ts,t=1,t=5)'
'set gxout shaded' *下面横线为一会儿修改的数值
'set cint _'
'd ta-273.15'
'cbarn.gs'
'printim d:\gradsex\avetemp.png white'
; 1.等值线划分的细,比你设置的彩虹色还多会出现什么效果? 你可能会担心没有足够的彩虹色来填充,我们来看看会发生什么情况。 下面为不设置间距,由grads自动生成图像: 可以看到间距自动设置为10,色标中一共有10中颜色。其实系统内置的色标为13种颜色。只不过自动设置的等值线间隔有点大,不需要这么多颜色,所以才只用了其中的10种。 我们再来看看间距缩小的情况(set cint 6),也就是等值线增加的情况: 色标的颜色间隔按照你设定的间隔了,系统内置的彩虹色也都用全了,一共13种。这就是等值线增多的情况了。当等值线逐渐增多时,系统会用掉全部你设置的彩虹色,这时会出现需要填充的区域多,但是你没有这么多的颜色填充,此时系统会自动调整,导致两端(即最大、最小)的填充区域会增大。下面给出你设置间距更小的情况(set cint 0.1): 我们会发现,不会因为你间距小了而使得填充的颜色多了,因为你就设定了这些颜色(13种),怎么办呢?你不用管这么多,系统会自动分配,但是grads会提示你too many contour levels--adjusting cint,意思就是等值线设置的太小了,需要你重新调整一下。但是我们看到这不会使得grads无法画图。意思就是说无论你设置的是什么样的,它都能填色!所以根据你实际需要来设置合理的间距是比较好的。 2.等值线划分的少,我的彩虹色多怎么办? 同样不用担心,grads依然能画出来。下面以间距15为例,看看出图效果: 由于你设置的间隔大了,没必要用这么多彩虹色填充,所以系统自动合成了由低到高的彩虹色来填充。所以不用担心。 多比较设置不同参数出来的结果应该就会有一些体会了。其实之所以系统会这样分配,我的理解是它只关注你这个变量场的最大值和最小值,把最大和最小分配到你设置彩虹色的两边。等值线多了就不会这么细的填充,少了会合成你设置的彩虹色进行填充。总之一句话,你只要设置完你喜欢的彩虹色,什么都不用担心!当然,彩虹色设置的数量尽量合理。一般我设置10~13种就可以了。 3.对正距平(或负距平)填色 以对0以上填色(正距平)为例,只需要设置set cmin 0就可以了。因为你设置了不小于0的等值线,系统会按照你设置的彩虹色进行填色。那它到底填哪些颜色呢?你可以试验一下。其实和前面一样,它就是按照你变量场最大和最小值来安排你设置的彩虹色的。所以它会填充数值大的颜色(如红色段)。负距平则相反。 对于你指定画的等值线命令:set clevs。。。自己尝试吧。 以上就是我的一些经验啦~ PS: 1。编写自己设置的彩虹色时,记得最后一定不要忘了写return。否则软件不会执行你的.gs文件。
|