- 积分
- 68
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2015-12-17
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
用ncl画图,已经画出了所有数据,就是除了南海,请问要怎么加上去呢?脚本和图如下
begin
fr="e:/biye/wenzhang/tsummer_d.txt"
r=asciiread(fr, 160, "float")
r2=asciiread("e:/biye/wenzhang/tsummer_t.txt", 160, "float")
x=asciiread("e:/biye/wenzhang/lon_tsummer_outd.txt", 76, "float")
y=asciiread("e:/biye/wenzhang/lat_tsummer_outd.txt", 76, "float")
;printVarSummary(r)
;flat="e:/cyg/cygdrive/lat.txt"
;lat=asciiread(flat, 41, "float")
;flon="e:/cyg/cygdrive/lon.txt"
;lon=asciiread(flon, 71, "float")
flatlon="e:/biye/wenzhang/lat_lon.txt"
latlon=asciiread(flatlon, (/160,2/), "float")
zlat=latlon(:,0)
zlon=latlon(:,1)
;print(zlat)
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
olon=new(71, "float")
olat=new(41, "float")
do i=0,70
olon(i)=70+i
end do
do l=0,40
olat(l)=15+l
end do
olon!0="zlon"
olon@long_name="lon"
olon@units="degrees_east"
olon&zlon=olon
olat!0="zlat"
olat@long_name="lat"
olat@units="degrees_north"
olat&zlat=olat
test="e:/biye/wenzhang/tsummer_d&t"
data1=new((/41,71/), "float")
data2=new((/41,71/), "float")
;cha=new((/41,71/), float)
r@_FillValue=99999.0
r2@_FillValue=99999.0
rscan=(/10,5,2/)
data1=obj_anal_ic_Wrap(zlon, zlat, r, olon ,olat, rscan, False)
data2=obj_anal_ic_Wrap(zlon, zlat, r2, olon ,olat, rscan, False)
data1!0="lat"
data1!1="lon"
data1&lat=olat
data1&lon=olon
data2!0="lat"
data2!1="lon"
data2&lat=olat
data2&lon=olon
;---------------绘图设置
res=True
res@gsnAddCyclic=False
res@gsnDraw=False
res@gsnFrame=False
mpres=res
wks=gsn_open_wks("png",test)
;--------等值线命令设置
res=True
res@gsnAddCyclic=False
res@gsnDraw=False
res@gsnFrame=False
res@cnLineDrawOrder = "PreDraw" ;去掉中国区域外的等值线
res@cnLineLabelPlacementMode="Constant"
res@cnLineLabelInterval=1 ;每一条等值线都标记数字
res@cnLineLabelFontHeightF=0.01 ; 等值线上数字大小
res@cnLineThicknessF=3
;res@cnFillOn=True ;不填色
res@cnLinesOn=True ;绘制等值线
res@cnLevelSelectionMode="ManualLevels"
;res@cnMaxLevelValF=3
;res@cnMinLevelValF=-3
;res@cnLevelSpacingF=2
res@gsnMaximize=True
res@cnInfoLabelOn = False
res@cnSmoothingOn=True
res@cnSmoothingDistanceF=0.005
res@cnSmoothingTensionF =0.005;平滑曲线
;-------t检验(阴影)部分设置
chres=True
chres@gsnAddCyclic=False
chres@gsnDraw=False
chres@gsnFrame=False
chres@cnFillOn=True
chres@cnLinesOn=False
chres@gsnAddCyclic=False
chres@gsnMaximize=True
chres@cnFillDrawOrder = "Predraw"
chres@cnLineLabelsOn = False
chres@lbLabelBarOn = True
chres@cnInfoLabelOn = False
chres@cnLevelSelectionMode= "ExplicitLevels"
chres@cnLevels=(/-4,-2,2,4,6,8/)
chres@cnFillColors=(/17,65,0,150,180,220,237/)
;-------------蒙特卡洛设置
mtklres=True
mtklres@gsMarkerIndex = 16 ; polymarker style
mtklres@gsMarkerSizeF = 6 ; polymarker size
mtklres@gsMarkerColor = "black" ; polymarker color
mtklres@tfPolyDrawOrder = "PostDraw"
mtklres@cnFillDrawOrder = "PostDraw" ; draw polygon first
;-------------地图设置
mpres@mpDataBaseVersion="Mediumres"
mpres@mpDataSetName="Earth..4"
mpres@mpOutlineOn=True ;绘制地图边缘
mpres@mpGeophysicalLineThicknessF= 5. ; 加粗地理边界
mpres@mpNationalLineThicknessF= 5. ; 加粗国界
mpres@mpOutlineSpecifiers = (/"China:states","Taiwan"/)
mpres@mpOutlineBoundarySets = "NoBoundaries";;;"Geophysical" ;;; or "NoBoundaries"
mpres@mpAreaMaskingOn = True ;;ʹÄÜÌî³ä¸²¸Ç
mpres@mpMaskAreaSpecifiers = (/"China:states","Taiwan"/)
mpres@mpOceanFillColor = "white" ;;;array index in color map
mpres@mpLandFillColor = "white" ;;;;for land, ocean, and inland h20
mpres@mpInlandWaterFillColor = "white"
mpres@mpGeophysicalLineColor = "black"
mpres@mpProvincialLineColor = "gray"
mpres@mpNationalLineColor = "black"
mpres@mpProvincialLineThicknessF =1
mpres@cnLevelSelectionMode= "ExplicitLevels"
mpres@mpMinLatF = 17 ; map area
mpres@mpMaxLatF = 55 ; latitudes
mpres@mpMinLonF = 72 ; and
mpres@mpMaxLonF = 136
mpres@mpGridAndLimbDrawOrder = "Predraw"
;-------斜线部分设置
;opt=True
;opt@gsnMaximize=True
;opt@gsnShadeFillType = "pattern" ; color is the default ; color index 14
;opt@gsnShadeLow = 3
;opt@gsnShadeHigh = 3
;opt@gsnAddCyclic=False
;opt@gsnDraw=False
;opt@gsnFrame=False
;opt@cnFillOn=True
mpid = gsn_csm_map(wks,mpres)
plot=gsn_csm_contour(wks, data1, res)
shade=gsn_csm_contour(wks, data2, chres)
mtkl=gsn_add_polymarker(wks,mpid,x,y,mtklres)
;shade2 =gsn_contour_shade(shade, -2,2, opt)
overlay(mpid,shade)
overlay(mpid,mtkl)
overlay(mpid,plot)
draw(mpid)
frame(wks)
end
|
-
|