and xy plot这是示例从ASCII文件读取数据并且创建了等值线图和XY坐标_第1页
and xy plot这是示例从ASCII文件读取数据并且创建了等值线图和XY坐标_第2页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Exmaple11——contourandXY这是示例从ASCII文件数据并且创建了等值线图和XY坐标图它展示log)如何定义自己的刻度标记如何获得等值线水平然后将它们根据落入的范围这个示例从ASCII文件数据,其中包括Cocos岛每月的气候纬向风,XY坐标图。键入:nclgsun11n.ncl。示例11代码及loadfunction;;Addacyclicpointin"x"toa2D;foralat/lonplot correspondsto "ny"correspondsto "mx"correspondstolocaldims,newdata,ny,mx, = = = =newdata= newdata(:,0:mx-1)= ;pass =(/data(:,0) ;valueif((.not.ismissing(newdata!1)).and.iscoord(data,newdata!1))newdata&$newdata!1$(mx)=end9中解释得更加详细。warning:Dimension(1)hasnotbeendefined21行的部分语句:newdata没有任何命名的维度,所以语法newdata!1开始NCL的主程序wks= ;OpenanX11cmap=(/(/1.,1.,1./), ;Changebackgroundto ;andforegroundto = = ;Firstcolumnofdataispressure = ;Secondcolumnisheight =data(:,2:13);Restofcolumnsareclimatologicalzonal;(u:ASCII文件“u.cocos14列,39行,第一列包含了压力值(毫(km(m/s用函数asciiread将这些值到一个二维float数组中,该数组叫做data,39×14,然后企图data的前两列到一维float数组pressure和height中,其余列的数据到二维数组u(39×12。unew= ;Copyfirstpointtoendofarrayfor使用上述定义的addcyclic函数,添加一个“cyclicu然后调用新的数组unewu39×12,unew39×13。 Beginfirst绘制unew的等值线图。左边的Y轴为压力值(使用对数刻度,右边,X值线中小于-6.00.0的等值线水平用另一种类型填充,不对-6.00.0之间的等值线进行填充。resources= =":F26:Cocos ;Main =":F25:Pressure ;Yaxes设置resourcetrYReverse为True来反转Y轴值,trLogresource为True在这个Y转换resources7resources@sfYCStartV= ;Indicatestartandendof = ;Yaxes = ;ReversetheY = ;Uselog ="Explicit" ;Defineyourowntickmarkresources@tmXBLabelFont= ;Changefontofresources@tmXBLabelFontHeightF=0.015;Changefontheightof = ;Nominortick =ispan(0,12,1);Locationtoputtickmark;(13pointswith =通过设置resourcetmXBMode为“ExplicitNCL使用数组resourcetmXBValues来决定主要刻度标记的坐标位置,tmXBLabels决定由tmXBValues“Jan“Feb“Mar……“Jan为没有明确定义X0,最大值的默认值是n-1,n是X方向上的点的个数。在该示例中,n13因为在下面对gsn_contour的调用中,进行等值线绘图的unew在X13个点。 = ;Keeprightaxisindependentof = ;Turnonrightaxisresources@tmYRLabelFont= ;Changefontof = ;Turnonrightaxistick = ;Nominortick将tmYRLabelsOn和tmYROn设置为True,为右边的Y轴做(默认值是没有。默认情况下,如果将这些resources设为True的话,为左边的YYYY轴,需要将tmYUseLeft设为False。ResourcestmYRLabelFonttmYRMinorOn改变了右边Y轴的字体和关机 = ;Defineowntickmarkhnice= ;Setrangeof"nice"heightpnice=ftcurv(height,pressure,hnice);Calculate"nice"pressure = ;Ateach"nice"pressure = ;puta"height"value从数据文件读入的高度值在减少和不等距分布的压力值(进行验证)指明。使用子程序ftcurvFtcurv的第一个参数是一个任意大小(npts)的以为数组,包含了输入函数的abscissaenpts函数值。第npts例中,将hnice12022,增距为2的数据(从函数fspan返回。使用这些“nice”高度值是因为实际的高度值的0.1120.66(可以使用print(min(height))和print(max(height))来验证Ftcurv返回一个大小为npts2的一维数组,包含了由第三个参数指明的每个点的明右边Y轴的刻度标记的位置和。 ="Explicit";Defineowntickmarkresources@tmYLLabelFont= ;Changethe = 800.,700.,500.,400.,300., 200.,150., =(/"1000","800","700","500","400","300", "250","200","150","100", = ;Nominortick设置tmYLMode为“Explicitresouce和tmYLLabels设置左边的Y轴的 = ;Turnoncontourlevel = ;UseonefillMonoFillPattern=False;UsemultiplefillLineLabelAngleF=0.;Drawcontourlinelabelsright-side将cnLineLabelAngleF设为0.0,保持宣传的等值线。这个resource的默认值是-1.0,这将使以等值线的切线方向放置。 =1.0 = ;Don'tdrawtheplotoradvanceResourcegsnDraw是gsn_*绘制函数中的另一个resourceFalse,可以表明并不想要绘制函数(在该示例中为gsn_contour)绘制图。这样做的原因是可以在图形创建之后从图形获得resource,并且在绘制等值线图之前基于获得的resource(下面会讨论)来设置其他的一些resources。resources@gsnFrame= ;frameinthecallto因为你不想要gsn_contourgsnFrame为Falsecontour=gsn_contour(wks,unew, ;Createacontour创建unewgsnDraw设为了Falsegetvalues ;Retrievecontour :end现在已经创建了一个等值线图,使用getvalues(cnLevels4中有更加详细的描述。 =new(dimsizes(levels)+1,integer);Createarrayfor =- ;patternsand;ittodoi=0,dimsizes(levels)- ;Fillcontourlevelsdependingif(levels(i).le.-6.) ;differentpatterns(i)= ;if(levels(i).gt.0.)patterns(i)= ;endendend =17;last做patterns的整型数组,pattersn96-98行得到的levels数组多一个元index1(透明if-else-endif-6.0的话,类型为index5(crosshatch类型的话,类型为index17(stipple类型setvalues ;Setthenewpatternsandmakethemmore"cnFillPatterns": :end现在已经用多种等值线水平的填充类型index填充了patterns数据,使用setvalues语句设置cnFillPatternsresources为这个数组,将cnFillScaleF的默认值1.00.89setvalues更加 ;Drawthecontour对draw = ;Annotateplotwithsometxres@txFontHeightF=gsn_text_ndc(wks,":F25:U txres@txFontHeightF= ;LabelrightY =gsn_text_ndc(wks,":F25:Height调用gsn_txt_ndc为左边的Y轴添加。通过设置txAngleF为90.0,将字90°旋转(默认值是没有旋转的。frame(wks);Advancethe;

Beginsecond用unewXYdelete(resources);Startwithnewlistof因为resourcesXY坐标图中重启一个新的resources列表。resources= =":F26:Cocosresources@tiXAxisString=resources@tiYAxisString=":F25:Amplitude ="Explicit" ;Defineyourowntickmarkresources@tmXBLabelFont= ;Changefontofresources@tmXBLabelFontHeightF=0.015;Changefontheightof

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论