undef("draw_eof_plot")procedure draw_eof_plot(dir_plot,file_plot,type_plot,x,year,neof)begin;--EOF analysisoptEof = Trueeof = eofunc_Wrap( x, neof, optEof)eof_ts = eofunc_ts_Wrap( x, eof, False)lat = x&latlon = x&lon;--Begin plotting section.wks = gsn_open_wks(type_plot,dir_plot+file_plot) ; Opens a ps file gsn_define_colormap(wks,"rainbow") plot = new(neof,graphic) res = True ; plot mods desired;************************************************; original data;************************************************ res@gsnDraw = False ; don't draw yet res@gsnFrame = False ; don't advance frame yet res@gsnAddCyclic = False;--map plot resources res@mpFillOn = False ; no grey continents res@mpCenterLonF = 180. res@mpDataBaseVersion = "MediumRes" ; or "Ncarg4_1" res@mpDataSetName="Earth..4" res@mpOutlineSpecifiers=(/"China:states","Taiwan"/) res@mpOutlineBoundarySets = "AllBoundaries" res@mpMinLatF = min(lat) ; range to zoom in on res@mpMaxLatF = max(lat) res@mpMinLonF = min(lon) res@mpMaxLonF = max(lon)
;--contour resources res@cnFillOn = True ; turn on contour fill res@cnLineLabelsOn = False ; turn off contour res@cnLinesOn = False ; add countor or not,True is default res@gsnLeftString = " " res@gsnRightString = " "
;--tickmark resources res@tmXTOn = False res@tmYROn = False res@tmYLLabelFontHeightF =0.02 res@tmXBLabelFontHeightF =0.018 res@tmXTOn = False res@tmYROn = False
;--labelbar resources res@lbLabelBarOn = False res@lbLabelFontHeightF = 0.02 res@lbOrientation = "Vertical" ; vertical label bar
symMinMaxPlt(eof, 16, False, res); contributed.ncl; panel plot only resources resP = True ; modify the panel plot resP@gsnMaximize = True ; large format resP@gsnPanelLabelBar = True ; add common colorbar resP@txString = "EOF"do n=0,neof-1 res@gsnLeftString = " EOF "+(n+1) res@gsnRightString = sprintf("%5.1f", eof@pcvar(n)) +"%" plot(n) = gsn_csm_contour_map(wks,eof(n,:,:),res)end do gsn_panel(wks,plot,(/neof/1,2/),resP) ; draw all 'neof' as one plot;*******************************************; time series (principal component) plot;******************************************* eof_ts@long_name = "Amplitude" rts = True rts@gsnDraw = False ; don't draw yet rts@gsnFrame = False ; don't advance frame yet
; decide exactly where on the page to draw it. rts@vpHeightF = 0.40 ; Changes the aspect ratio rts@vpWidthF = 0.85 rts@vpXF = 0.10 ; change start locations rts@vpYF = 0.75 ; the plot rts@gsnYRefLine = 0. ; reference line rts@gsnAboveYRefLineColor = "red" ; above ref line fill red rts@gsnBelowYRefLineColor = "blue" ; below ref line fill blue; panel plot only resources rtsP = True ; modify the panel plot rtsP@gsnMaximize = True ; large format rtsP@txString = "EOF" do n=0,neof-1 rts@gsnLeftString = " EOF "+(n+1) rts@gsnRightString = sprintf("%5.1f", eof@pcvar(n)) +"%" plot(n) = gsn_csm_xy (wks,year,eof_ts(n,:),rts) end do gsn_panel(wks,plot,(/neof/1,2/),rtsP) ; draw all 'neof' as one plotend數據處理·機器學習·可視化
行業資訊·學習資料
長按關注不迷路