ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:25.60KB ,
资源ID:5403352      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5403352.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(IDL等绘图命令对应关系一览表汇编.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

IDL等绘图命令对应关系一览表汇编.docx

1、IDL等绘图命令对应关系一览表汇编IDL、NCL、GRADS、MATLAB绘图命令对应关系一览表1.grads的数据文件与ncl的什么文件对应?grads只支持按照一定顺序存储的二进制数据文件,后缀名以.grd或者.dat或者.grb结束。这种数据必须以时间为最外层,然后每个变量按照向量形式存储,每个变量由外向内的存储顺序是高度(或等压面)=纬度=经度。这必须注意,否则画图容易出现一堆一堆的乱线条,这就说明你的数据没有按照grads的要求存储。再看看ncl,可以说ncl支持绝大多数各种数据的读写,包括netcdf,hdf,以及二进制数据甚至ASCII码(如果说是十进制数据或许你会更熟悉),前两

2、种数据一般都有头文件,不能用C语言或者Fortran读取,都需要插件才可以读取,ncl可以直接读取,matlab中也可以直接读取NETCDF格式(.nc)的数据。grads中可以读取按照说明存取的NC数据,这种数据必须又正确的时间说明,也就是说时间必须是真实的,有些模式模拟出来的数据grads的sdfopen命令是打不开的,因为一般模式都是nonleap run,都是平年,没有设定闰年,造成了时间说明不真实,grads就会报错。那么grads如何使用NC数据呢?所以建议使用ncl转换数据,将NC数据,hdf数据或者十进制数据转换成grd数据,供grads使用。这样说明是在是太空洞了,那么下面我

3、举个例子吧。eg1) 使用grads将netcdf数据转换成grd数据reinitvar.1=air;var.2=hgt;var.3=uwndvar.4=vwnd;var.5=omega;var.6=shumj=6while (j=6)set fwrite/disk3/users/Rao_Jian/ERA-Interim-daily/entropy/var.j.daily.1979-2010.grdset gxout fwritei=1979while (i=2010)sdfopen/disk3/users/lbq/ERA-Interim-daily/pressure/var.j.interi

4、m.i.nctt=1if(i=1980|i=1984|i=1988|i=1992|i=1996|i=2000|i=2004|i=2008)while (tt=366)set t ttzz=1while (zz=37)set x 1 240set y 1 121set z zzd var.jzz=zz+1endwhilett=tt+1endwhileelsewhile (tt=365)set t ttzz=1zz=1while (zzsst(960:1679,:,:) ; load 50 year data duringfrom 1950 to 2009注意:这类文件的后缀名一般为.nc /.h

5、df/ .grb/.hdfeos/.ccm2.grads中的描述文件与ncl中的什么对应描述文件(.ctl)是一个纯文本文件,我们有数据grads还是不能出图,需要一个描述文件来指定他的存储数据个数,维度(时间长度、层数和经纬度信息)。ncl是没有这种文件的,那么ncl在绘图时是通过什么信息来获得维度信息的呢?其实,在ncl里又一个概念叫做coordinate,其实就是维度信息。在ctl中,是通过xdef、ydef、zdef、tdef来声明数据的经纬度信息的。也就是说,在一个ctl文件中声明的所有数据,其相同维度的信息必须相同(维数可以不同)。那么我们还是举个例子好了eg4.1)ctl描述文件

6、dset/disk3/users/Rao_Jian/ERA-DATA/entropy/Var3D.grdundef -999title monthly zonally mean uwnd,vwnd,temperaturein THETA-PVLAT coordinateoptions yrevxdef1 linear 0.000 2.500ydef200 linear 0.000 0.75zdef16levels 270 280 290 300 315 330 350 370 400 450 500 550 600650 700 750tdef389 linear jan1979 1movar

7、s 3ulat2 16 -99 means zonal mean u wind in theta-pvcoordinatevlat2 16 -99 means zonal mean v wind in theta-pvcoordinatetlat2 16 -99 means zonal mean temperature intheta-pv coordinateendvars;上面的例子中,声明了三个变量,每个变量都是16层,说明都是空间三维的(可以不是的,此时16改为0),黄色的信息是维度信息,也就是说这三个变量ulat2、vlat2、tlat2相同的经度、维度、层数、时间。你要说了,我的数

8、据哪那么巧都是一样的维度,要是不一样怎么办?对不起,必须是相同维度的信息完全一样的数据才可以放到一个描述文件中,否则要分开在不同的文件中描述,这也就是为什么在一些使用者的批处理脚本中(.gs)中会打开多个文件的原因之一,因为变量的信息可能不同。eg4.2)ncl中维度声明形式举例;下面再来看看ncl中是如何声明维度信息的?dudP0!0=timedudP0!1=latdudP0!2=londudP0!3=leveldudP0&time=u&timedudP0&level=u&levelistdudP0&lat=u&latitudedudP0&lon=u&longitudecopy_VarCoo

9、rds(dudP0,dvdP0)copy_VarCoords(dudP0,dPTdP0)在上面的例子中,!是用来给坐标维度命名的,&是用来引用某一维度数值的,copy_VarCoords是ncl的贡献函数库中的子程序,将一个变量的坐标信息原封不动的传给另一个变量。必须注意的是,绘制地图底图时,还要涉及到属性的概念,用来引用或者声明。所以在给变量声明经纬度之名时,还要声明经纬度之属性,保证ncl能找到地图坐标,保证等值线或矢量与地图坐标对应,不发生错位。eg4.3)ncl中声明坐标经纬度属性pvlvl&lev= lvl ; isentropic levelspvlvl&lat=u&latitud

10、epvlvl&lon=u&longitudepvlvl&latunits= degrees_northpvlvl&lonunits= degrees_eastpvlvl&levunits=Kpvlvl&timeunits = monthssince 1900-01-01注意: pvlvl&latunits= degrees_north是接在pvlvl&lat后面的,也就是说,degrees_north属性是变量pvlvl的坐标lat的属性3.grads中的批处理命令文件与ncl中的什么对应这个不需要解释了吧,gs文件自然就相当与ncl脚本文件了,好好理解一下吧。说的更具体一点,是相当于ncl中

11、graphics部分,因为ncl不仅具有绘图功能,还具有强大的计算功能,尤其是巨大的函数库。ncl的缺点是循环比较慢,优点就是有许多优化函数,不需要使用者自己编写子程序(如果你愿意,也可以自己编写,将脚本存在够得着的地方,用的时候load)。4.grads中的图形类型设置与ncl的图形接口csm函数对应说明grads图形类型设置set gxout grahics-stylencl图形类型设置gsn_csm_choice_choise_choice一般等值线图set gxout contourgsn_csm_contour(无地图底图)gsn_csm_map_ce,之前都要设置cnLinesOn

12、=True等值线 + robinson投影(cylindrical equidistant map)set gxout contourset mproj robinsongsn_csm_contour_map_ce等值线+极射赤面投影(Polar Stereographic Projections)set gxout contourset mproj nps/spsgsn_csm_contour_map_polar(之前设置:gsnPolar= NH/gsnPolar= SH)填色等值线图set gxout shadedgsn_csm_contour,之前设置gsn_define_colorm

13、ap(wks,colors),cnFillOn=True填色等值线+等值线set gxout shadedd .set gxout contourd .注意:顺序不能反同上,之前设置cnFillOn = True, cnLinesOn=True仅仅标记网格点set gxout grid比较灵活,可以使用gsn_add_test做到,没有对应的csm接口,参照http:/www.ncl.ucar.edu/Applications/Scripts/station_3.ncl矢量图set gxout vectorgsn_vector流线图set gxout streaminegsn_streamli

14、ne一维数据图set gxout bar/line/linefillgsn_xy与各种属性联合使用达到目的,其中line是最简单的。单线line图set gxout linegsn_xy直方图set gxout bargsn_xy,之前设置gsnScale = True(效果见图1),还可以使用gsn_histogram来统计一组数据的分布情况,分别落在什么区间,也就是说x轴是数值,y轴是发生频率或次数(有点概率密度的意思)(效果见图2)两单线着色图set gxout linefill(效果见图3)gsn_xy,之前设置属性(效果见图4)二维场方格子填充图set gxout fgrid同等值线

15、图画法,设置相应的属性误差盒子图set gxout errbargsn_xy与相应属性联合使用达到目的5.grads与ncl的函数对应关系说明grads函数ncl函数平均函数ave(var,t/lon/lat=?,t/lon/lat=?,inc,flag),求平均avg, dim_avg, dim_avg_n, dim_avg_n_Wrap,dim_avg_Wrap纬向平均ave(var,x=x1,x=x2)同上时间平均ave(var,t=t1,t=t2,dt)同上,外加clmMonLLLT, clmMonLLT, clmMonTLLclmMonTLLL高度权重平均vint(ps,exp,to

16、p)dim_avg_wgt, dim_avg_wgt_n, dim_avg_wgt_n_Wrapdim_avg_wgt_Wrap区域面积平均aave(u,x1=x,x=x2,y=y1,y=y2)同上,注意一下参数的设定技巧,还可以直接使用:wgt_areaave, wgt_areaave2, wgt_areaave_Wrap垂直涡度hcurl(u,v)uv2vr_cfd, uv2vrF, uv2vrf, uv2vrF_Wrapuv2vrG, uv2vrg, uv2vrG_Wrap水平散度hdivg(u,v)uv2dv_cfd, uv2dvF, uv2dvf, uv2dvF_Wrapuv2dvG

17、, uv2dvg, uv2dvG_Wrap取样稀疏化skip(u,dx,dy)没有函数,可以直接引用u(.,:dx,:dy)差分函数cdiff(u),为中央差分函数center_finite_diff, center_finite_diff_n九点滑动平均smth9(u)smath9, smath9_Wrap三角函数sin,cos,tansin,cos,tan,此外还有反三角函数atan,acos,asin不记得Pi=3.141592653的人一般这样表示之,pi=atan(1.0)*4,经常可以在ncl脚本中看得到对数指数函数exp, log, log10exp, log求和sumgsum

18、, dim_sum, dim_sum_n, dim_sum_n_Wrapdim_sum_Wrap权重求和sum与权重平均一致,avg对应sum就好了IDL绘图通用参数(和Fortran语言类似,变量名关键字不区分大小写,字符串内部区分大小写)。position定位图形位置大小,格式position=x0,y0,x1,y1,(x0,y0)是左下角坐标,(x1,y1)是右上角坐标。01之间。title 图名,格式title=Graphicname(单引号和双引号通用,又和Fortran一样,ncl绝对不可以)subtitle 副标题名,格式subtitle=Graphic name2charsiz

19、e字符大小(默认值1.0),格式charsize=2.0(放大了喔)charthick字符粗细或厚度,格式charthick=2.0(默认值1.0,此处加粗了喔)font 字符的字体索引号(-1,0或者1)希腊字母可以通过latex语法输入,和matlab一样color 颜色索引号linestyle线型ticklen 刻度尺度(默认值0.02)thick 线宽(默认值1.0)psym 符号代码(见下文散点图介绍)symsize 符号大小(默认值1.0)/xyzlog坐标是否取对数,默认值是线型/noeraze与matlab的hold on有的一拼,和grads的clear作用相反/nodata

20、不做图,数据从图中隐藏,只显示轴/noclip 不裁剪一般轴的性质设置xyzrange 轴范围(默认值:自动)xyztitle 标题字符(默认值:无)xyzcharsize字符大小(默认值:1.0)xyzstyle 轴类型(默认值:0;可取数值031) 这个要细说一下1:由xrange和yrange指定范围 2: 在轴范围的每一边留有空余 4:不显示整个坐标轴 8:只在左边或者下边显示坐标轴 16:不将y轴的起始值强行规定为0xyzmargin 轴边缘空白,单位是字符间隔 (默认值:xmargin=10,3,ymargin=4,2)xyzminor 最小刻度间的数目xyzthicklen 刻度

21、长度(默认值:0.02)xyzgridstyle标注方格的线型(05,0为默认值)xyztickformat刻度格式xyzticks 主要刻度间的数目xyztickv 要标注的刻度数组xyztickname 刻度标注数组/ynozero y刻度不从0开始1. 1-D 单线图 1) IDL单线图: PLOT, X,Y, /ISOTROPIC , MAX_VALUE=value, MIN_VALUE=value , NSUM=value , /POLAR , THICK=value, /XLOG , /YLOG , /YNOZERO, BACKGROUND=color_index , CHARSI

22、ZE=value , CHARTHICK=integer, CLIP=X0,Y0,X1,Y1 , COLOR=value, /DATA | , /DEVICE | , /NORMAL , FONT=integer , LINESTYLE=0 | 1 |2 | 3 | 4 | 5 , /NOCLIP , /NODATA , /NOERASE , POSITION=X0,Y0,X1,Y1 , PSYM=integer0to 10 , SUBTITLE=string , SYMSIZE=value , /T3D , THICK=value, TICKLEN=value , TITLE=string,

23、 X | Y | ZCHARSIZE=value, X | Y | ZGRIDSTYLE=integer0 to 5, X | Y | ZMARGIN=left,right, X | Y | ZMINOR=integer, X | Y | ZRANGE=min,max, X | Y | ZSTYLE=value, X | Y | ZTHICK=value, X | Y | ZTICK_GET=variable, X | Y | ZTICKFORMAT=string, X | Y | ZTICKINTERVAL=value, X | Y | ZTICKLAYOUT=scalar, X | Y |

24、 ZTICKLEN=value, X | Y | ZTICKNAME=string_array, X | Y | ZTICKS=integer, X | Y | ZTICKUNITS=string, X | Y | ZTICKV=array, X | Y | ZTITLE=string, ZVALUE=value0 to 1其中为可选项,称作关键字,这是IDL过程中的一个设置(IDL程序包括过程和函数,过程pro相当于FORTRAN的子程序,自定义函数就不必多说了吧。以上关键字都具有单词本身的实际意义。比如,选择了plot,x,y 横坐标自然由x数组决定,否则的话,横坐标从0开始,以size(

25、y)-1结束。再比如,选择了/ISOTROPIC的话,x和y方向的比例就会一致,这在画绘制剖面图时是很危险的,因为垂直尺度一般比水平尺度小很多,所以此项要慎重选择。再例如,若希望y轴以log的数值标注,此时打开开关/ylog。还有就是IDL和matlab在绘制极坐标单线时很方便的,对于IDL而言,选择激活/POLAR,而matlab有单独的函数处理极坐标单线。plot的很多参数都是上面介绍的通用参数。2) NCL单线图 gsn_xy gsn_y3) grads单线图 set gxout line4) MATLAB单线图 plot(Y) plot(X1,Y1,.,Xn,Yn) plot(X1,Y1,LineSpec,.,Xn,Yn,LineSpec) plot(.,PropertyName,PropertyValue,.)2. 重叠图 1) IDL重叠图 OPLOT, X,Y, MAX_VALUE=value , MIN_VALUE=value ,NSUM=value , /POLAR , THICK=value, CLIP=X0,Y0,X1,Y1, COLOR=value , LINESTYLE=0 | 1 | 2 | 3 | 4 | 5 , /NOCLIP ,PSYM=integer0 to 10 , SYMSIZE=val

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1