爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 7241|回复: 4

[图形美化] 怎么设置时间轴?

[复制链接]

新浪微博达人勋

发表于 2020-11-6 11:13:00 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 ┏_(゜ω゜)= 于 2020-11-6 11:15 编辑

'reinit'
*空气微团绝热上升,将所含的水汽全部凝结放出,再干绝热下降到1000百帕时的温度。
'open e:/era5/era.ctl'
'enable print e:/era5/5_21/se.gmf'

'set lon 112.475'
'set lat 22.991'  

'set lev 1000 100'
'set t 1 24'
'define prs=lev';*获得某层高度的气压
'set ccolor 1'
'set grid off'
'define tc=Tprs-273.16' ;*某高度层的摄氏温度C
'define tk=Tprs' ;*某高度层的开氏温度K
'define rh=Rprs' ;*某高度层的相对湿度Relative humidity%
*求饱和水汽压Tetens经验公式
*水面es,tk开氏温度,tc摄氏温度
if(tk>273.16)
'define es=6.1078*exp(17.2693882*tc/(tk-35.86))'
endif
*冰面es,tk开氏温度,tc摄氏温度
if(tk<=273.16)
'define es=6.1078*exp(21.8745584*tc/(tk-7.66))'
endif
*饱和比湿
'define qs=0.622*es/(prs-0.378*es)'
*用相对湿度等求比湿
'define q=rh*qs/100'
*水汽压
'define e=prs*q/(0.622+q)'
*凝结高度的绝对温度,tk起始面上绝对温度K,
'define tlcl=55.0+2840.0/(3.5*log(tk)-log(e)-4.805)'
*求假相当位温Bolton公式,se为开氏温度K

'define theta=tk*pow((1000/prs),(0.2854*(1.0-0.28*q)))'
'define se=theta*exp(((3376./tlcl)-2.54)*q*(1.0+0.81*q))'
'set parea 1 9.4 1 8'
*设置画布尺寸
'set xlopts 1 4 0.14'
*设置X轴标注颜色 粗细 大小
'set ylopts 1 4 0.14'
'set ylevs 1000 925 850 700 500 200 100'


*'set xlabs  00Z18MAY2020丨 06 12 18 00Z19MAY 06 1218 00Z20MAY 06 12 18 00Z21MAY 06 12 18 00Z22MAY 06 12 18 00Z23MAY 06 12 18'
*用这个语句提示有逻辑错误




'set grads off'
'set zlog on'
'set gxout shaded'
'set cint 2'

'set rgb 20 0 89 162'
'set rgb 21 10 105 199'
'set rgb 22 15 114 255'
'set rgb 23 8 109 241'
'set rgb 24 21 161 255'
'set rgb 25 143 213 255'
'set rgb 26 215 224 255'
'set rgb 27 255 229 230'
'set rgb 28 252 198 172'
'set rgb 29 241 178 145'
'set rgb 30 236 146 122'
'set rgb 31 232 122 99'
'set rgb 32 255 88 21'
'set rgb 33 254 155 25'
'set rgb 34 255 209 39'
'set rgb 35 244 243 117'
'set rgb 36 255 252 101'
'set rgb 37 254 254 158'
*色标采用气象家园调色盘克隆功能。
'set rbcols 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 '
'set clevs 300 305 310 315 320 325 330 335 340 345 350 355 360 365 370 375 380'
'set lev 1000 200'


'set xlpos -20'

*'set ylpos -20'
'd se'


*'cbar.gs'

'run cbarn.gs'
'set gxout barb'
'set lev 1000 200'
'set bargap 50'
'set digsiz 0.05'
*设置箭头大小
'set csmooth on'
'set arrowhead 0.05'
*设置箭头尺寸
*'set lev 1000 925 850 700 500 200 100'
'set lev 1000 200'
'd skip(Uprs*2.5,2,1);skip(Vprs*2.5,2,1)'
*风向杆的换算*2.5   http://bbs.06climate.com/forum.p ... ghlight=barb&page=1
'draw ylab Pa'



'run axis.gs  -type b -label on -sinterval 1 -tformat hd -start 1 -end 24'
*用这个语句画出来如下图的时间轴间隔太大

'print'
'disable print'

'reinit'


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

新浪微博达人勋

 楼主| 发表于 2020-11-6 11:15:21 | 显示全部楼层
******************脚本使用说明***********
*****************************************************************
*[程序设计:清风,来自气象家园论坛 http://bbs.06climate.com] *
*                                                                                              *
******************************************************************************
*                  注意:在你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的是哪个变量
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-11-6 12:09:54 | 显示全部楼层
本帖最后由 river 于 2020-11-7 19:28 编辑

'set xlabs  00Z18MAY2020丨 06 丨12 丨18 丨00Z19MAY丨 06丨 12丨18 丨00Z20MAY丨 06丨 12丨 18 丨00Z21MAY丨 06丨 12丨 18丨 00Z22MAY丨 06 丨12 丨18 丨00Z23MAY丨 06 丨12 丨18'
*用这个语句提示有逻辑错误

真是被你打败了!你仔细瞅瞅你那个竖杠,是中文还是英文状态下的?而且弄了那么多,如果全是数字吧还好,你那几个带月份的肯定会把其他的覆盖的。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-11-12 13:26:16 | 显示全部楼层
楼主计算的是啥?假相当位温吗?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-11-13 10:13:25 | 显示全部楼层
nunu18 发表于 2020-11-12 13:26
楼主计算的是啥?假相当位温吗?

是的
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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