and xy plot這是示例從ASCII文件讀取數(shù)據(jù)并且創(chuàng)建了等值線圖和XY坐標(biāo)_第1頁
and xy plot這是示例從ASCII文件讀取數(shù)據(jù)并且創(chuàng)建了等值線圖和XY坐標(biāo)_第2頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

Exmaple11——contourandXY這是示例從ASCII文件數(shù)據(jù)并且創(chuàng)建了等值線圖和XY坐標(biāo)圖它展示log)如何定義自己的刻度標(biāo)記如何獲得等值線水平然后將它們根據(jù)落入的范圍這個示例從ASCII文件數(shù)據(jù),其中包括Cocos島每月的氣候緯向風(fēng),XY坐標(biāo)圖。鍵入:nclgsun11n.ncl。示例11代碼及l(fā)oadfunction;;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中解釋得更加詳細(xì)。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用函數(shù)asciiread將這些值到一個二維float數(shù)組中,該數(shù)組叫做data,39×14,然后企圖data的前兩列到一維float數(shù)組pressure和height中,其余列的數(shù)據(jù)到二維數(shù)組u(39×12。unew= ;Copyfirstpointtoendofarrayfor使用上述定義的addcyclic函數(shù),添加一個“cyclicu然后調(diào)用新的數(shù)組unewu39×12,unew39×13。 Beginfirst繪制unew的等值線圖。左邊的Y軸為壓力值(使用對數(shù)刻度,右邊,X值線中小于-6.00.0的等值線水平用另一種類型填充,不對-6.00.0之間的等值線進(jìn)行填充。resources= =":F26:Cocos ;Main =":F25:Pressure ;Yaxes設(shè)置resourcetrYReverse為True來反轉(zhuǎn)Y軸值,trLogresource為True在這個Y轉(zhuǎn)換resources7resources@sfYCStartV= ;Indicatestartandendof = ;Yaxes = ;ReversetheY = ;Uselog ="Explicit" ;Defineyourowntickmarkresources@tmXBLabelFont= ;Changefontofresources@tmXBLabelFontHeightF=0.015;Changefontheightof = ;Nominortick =ispan(0,12,1);Locationtoputtickmark;(13pointswith =通過設(shè)置resourcetmXBMode為“ExplicitNCL使用數(shù)組resourcetmXBValues來決定主要刻度標(biāo)記的坐標(biāo)位置,tmXBLabels決定由tmXBValues“Jan“Feb“Mar……“Jan為沒有明確定義X0,最大值的默認(rèn)值是n-1,n是X方向上的點的個數(shù)。在該示例中,n13因為在下面對gsn_contour的調(diào)用中,進(jìn)行等值線繪圖的unew在X13個點。 = ;Keeprightaxisindependentof = ;Turnonrightaxisresources@tmYRLabelFont= ;Changefontof = ;Turnonrightaxistick = ;Nominortick將tmYRLabelsOn和tmYROn設(shè)置為True,為右邊的Y軸做(默認(rèn)值是沒有。默認(rèn)情況下,如果將這些resources設(shè)為True的話,為左邊的YYYY軸,需要將tmYUseLeft設(shè)為False。ResourcestmYRLabelFonttmYRMinorOn改變了右邊Y軸的字體和關(guān)機(jī) = ;Defineowntickmarkhnice= ;Setrangeof"nice"heightpnice=ftcurv(height,pressure,hnice);Calculate"nice"pressure = ;Ateach"nice"pressure = ;puta"height"value從數(shù)據(jù)文件讀入的高度值在減少和不等距分布的壓力值(進(jìn)行驗證)指明。使用子程序ftcurvFtcurv的第一個參數(shù)是一個任意大?。╪pts)的以為數(shù)組,包含了輸入函數(shù)的abscissaenpts函數(shù)值。第npts例中,將hnice12022,增距為2的數(shù)據(jù)(從函數(shù)fspan返回。使用這些“nice”高度值是因為實際的高度值的0.1120.66(可以使用print(min(height))和print(max(height))來驗證Ftcurv返回一個大小為npts2的一維數(shù)組,包含了由第三個參數(shù)指明的每個點的明右邊Y軸的刻度標(biāo)記的位置和。 ="Explicit";Defineowntickmarkresources@tmYLLabelFont= ;Changethe = 800.,700.,500.,400.,300., 200.,150., =(/"1000","800","700","500","400","300", "250","200","150","100", = ;Nominortick設(shè)置tmYLMode為“Explicitresouce和tmYLLabels設(shè)置左邊的Y軸的 = ;Turnoncontourlevel = ;UseonefillMonoFillPattern=False;UsemultiplefillLineLabelAngleF=0.;Drawcontourlinelabelsright-side將cnLineLabelAngleF設(shè)為0.0,保持宣傳的等值線。這個resource的默認(rèn)值是-1.0,這將使以等值線的切線方向放置。 =1.0 = ;Don'tdrawtheplotoradvanceResourcegsnDraw是gsn_*繪制函數(shù)中的另一個resourceFalse,可以表明并不想要繪制函數(shù)(在該示例中為gsn_contour)繪制圖。這樣做的原因是可以在圖形創(chuàng)建之后從圖形獲得resource,并且在繪制等值線圖之前基于獲得的resource(下面會討論)來設(shè)置其他的一些resources。resources@gsnFrame= ;frameinthecallto因為你不想要gsn_contourgsnFrame為Falsecontour=gsn_contour(wks,unew, ;Createacontour創(chuàng)建unewgsnDraw設(shè)為了Falsegetvalues ;Retrievecontour :end現(xiàn)在已經(jīng)創(chuàng)建了一個等值線圖,使用getvalues(cnLevels4中有更加詳細(xì)的描述。 =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的整型數(shù)組,pattersn96-98行得到的levels數(shù)組多一個元index1(透明if-else-endif-6.0的話,類型為index5(crosshatch類型的話,類型為index17(stipple類型setvalues ;Setthenewpatternsandmakethemmore"cnFillPatterns": :end現(xiàn)在已經(jīng)用多種等值線水平的填充類型index填充了patterns數(shù)據(jù),使用setvalues語句設(shè)置cnFillPatternsresources為這個數(shù)組,將cnFillScaleF的默認(rèn)值1.00.89setvalues更加 ;Drawthecontour對draw = ;Annotateplotwithsometxres@txFontHeightF=gsn_text_ndc(wks,":F25:U txres@txFontHeightF= ;LabelrightY =gsn_text_ndc(wks,":F25:Height調(diào)用gsn_txt_ndc為左邊的Y軸添加。通過設(shè)置txAngleF為90.0,將字90°旋轉(zhuǎn)(默認(rèn)值是沒有旋轉(zhuǎn)的。frame(wks);Advancethe;

Beginsecond用unewXYdelete(resources);Startwithnewlistof因為resourcesXY坐標(biāo)圖中重啟一個新的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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論