爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 11712|回复: 18

[作图] NCL把中国范围外的等值线去掉

[复制链接]

新浪微博达人勋

发表于 2017-4-20 20:54:00 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
用站点数据插值后,如何把中国范围外的等值线去掉??

load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
begin
  fn = "station.txt"
  ncols = numAsciiCol(fn)
  nrows = numAsciiRow(fn)
  station = asciiread(fn ,(/nrows,ncols/),"float")
  lon = new(160,"float")
  lat = new(160,"float")
  lon = station(:,1)
  lat = station(:,0)

  bn = "len.txt"
  ncols1 = numAsciiCol(bn)
  nrows1 = numAsciiRow(bn)
  data = asciiread(bn ,(/nrows1,ncols1/),"float")
  len = new(160,"float")
  len = data

  olon = new(66,"float")
  olat = new(40,"float")
  data1 = new((/40,66/),"float")

  do i=0,65
     olon(i) =72+i
  end do
  do l=0,39
     olat(l) = 17+l
  end do

  olon!0          = "lon"
  olon@long_name  = "lon"
  olon@units      = "degrees-east"
  olon&lon        = olon
  olat!0          = "lat"
  olat@long_name  = "lat"
  olat@units      = "degrees_north"
  olat&lat        = olat

  len@_FillValue = 999999.000000  
  rscan = (/10,5,3/)   ;连续的有效半径大小,最大为10,依次递减
  data1 = obj_anal_ic_deprecated(lon,lat,len,olon,olat,rscan, False)

  wks   = gsn_open_wks ("png","len")      
  gsn_define_colormap(wks,"BlAqGrYeOrRe")

  res                       = True  
  res@gsnMaximize           = True
  res@gsnDraw               = False
  res@gsnFrame              = False

  res@mpFillOn              = True     ; turn on color fill
  res@mpDataSetName         = "Earth..4"
  res@mpDataBaseVersion     = "MediumRes"
  ;res@mpAreaMaskingOn       = True
  res@mpMaskAreaSpecifiers  = (/"China"/)
  res@mpOutlineSpecifiers   = (/"China"/)

  res@mpLandFillColor            = "white"
  res@mpInlandWaterFillColor     = "white"
  res@mpOceanFillColor           = "white"
  res@mpFillBoundarySets         = "NoBoundaries"
  res@mpOutlineBoundarySets      = "NoBoundaries"
  res@mpNationalLineColor        = "black"
  res@mpProvincialLineColor      = "black"
  res@mpGeophysicalLineColor     = "black"
  res@mpNationalLineThicknessF   = 2
  res@mpProvincialLineThicknessF = 1

  res@cnFillOn              = True
  res@cnFillDrawOrder       = "PreDraw"
  res@cnLineLabelsOn        = False
  res@cnLinesOn             = True    ; turn of contour lines
  res@cnLevelSpacingF       = 0.5      ; contour spacing
  res@lbLabelAutoStride          = True
  res@pmTickMarkDisplayMode = "Always"

  res@lbBoxLinesOn          =False

  res@gsnAddCyclic          =False
  res@mpMinLatF=15.
  res@mpMaxLatF=55.
  res@mpMinLonF=70.
  res@mpMaxLonF=140.


  map = gsn_csm_contour_map(wks,data1,res)
  draw(map)
  frame(wks)


end


len.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-4-21 13:57:10 来自手机 | 显示全部楼层
res@mpFillOn=False
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-4-21 14:13:34 | 显示全部楼层

谢谢,我找到办法了 res@cnLineDrawOrder       = "PreDraw"
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 19710
发表于 2017-4-21 23:43:55 | 显示全部楼层
这是兰溪哥哥的地图么
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 19710
发表于 2017-4-21 23:44:04 | 显示全部楼层
这是兰溪哥哥的地图么
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-4-22 08:03:03 | 显示全部楼层
兰溪之水 发表于 2017-4-21 23:44
这是兰溪哥哥的地图么

是的呀,从你这里学到了好多,无私的大神让人敬佩
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-4-22 10:53:00 | 显示全部楼层
兰溪之水 发表于 2017-4-21 23:44
这是兰溪哥哥的地图么

兰溪居然是哥哥!!!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-4-22 15:08:46 | 显示全部楼层
Soaring 发表于 2017-4-21 14:13
谢谢,我找到办法了 res@cnLineDrawOrder       = "PreDraw"

这是画图顺序的命令,好的,那我想错了。。差点误导你
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-4-26 09:30:12 | 显示全部楼层

兰溪居然是哥哥!!!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-4-27 16:00:40 | 显示全部楼层
兰溪居然是哥哥?!!
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表