爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5137|回复: 2

[作图] 使用ncl画图如何在画好的图上标注?

[复制链接]

新浪微博达人勋

发表于 2019-12-25 22:48:35 | 显示全部楼层 |阅读模式

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

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

x
本人新人一枚,因写论文需要学习ncl。。
在初步学习中遇到个问题
就是我的画矢量风和在底图上标注,截取经纬度等我能顺利出图
但是我把两个合在一起就不能出我想要的图了
它只会给我出没有矢量风图 但是有地名标注且选好经纬度的底图
如何才能画出满足上述两个条件的图呢?

希望有大神走过路过能帮我看看程序
谢谢!
以下是我的程序:

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" 、

begin

  lat_tulufan = 42.0  
  lon_tulufan = 88.0              

  fu = addfile("uwnd.2019.nc","r")
  fv = addfile("vwnd.2019.nc","r")

  u = fu->uwnd(0,{850},:,:)      
  v = fv->vwnd(0,{850},:,:)

  wks = gsn_open_wks("png","poly_ex")

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

  res@gsnLeftString  = ""
  res@gsnRightString  = ""

  res@pmTickMarkDisplayMode = "Always"

  res@mpMinLatF   = 20      
  res@mpMaxLatF   = 70
  res@mpMinLonF   = 30
  res@mpMaxLonF   = 120  


  base = gsn_csm_map(wks,res)

   mkres               = True
   mkres@gsMarkerColor = "black"
   mkres@gsMarkerSizeF = 0.02
   mkres@gsMarkerIndex = 4
  dum1  = gsn_add_polymarker(wks,base,lon_tulufan,lat_tulufan,mkres)


  txres                 = True
  txres@txFontHeightF   = 0.015
  txres@txFontColor     = "black"
  dum2 = gsn_add_text(wks,base,"Tulufan",lon_tulufan,lat_tulufan+4.0,txres)

  res@vcGlyphStyle         = "FillArrow"

  res@vcFillArrowEdgeColor    = "white"
  res@vcFillArrowFillColor    = "black"
  res@vcMinMagnitudeF         = "5.0"
  res@vcMinDistanceF          = "0.02"

  res@vcFillArrowMinFracWidthF = 1.0
  res@vcFillArrowHeadMinFracXF = 1.0  
  res@vcFillArrowHeadMinFracYF = 1.0

  res@vcFillArrowMinFracWidthF  = 1.0
  res@vcFillArrowHeadMinFracXF  = 1.0
  res@vcFillArrowHeadMinFracYF  = 1.0

  res@vcRefAnnoOn               = True  
  res@vcRefMagnitudeF           = 20      
  res@vcRefLengthF              = 0.04   
  res@vcRefAnnoBackgroundColor  = "white"     
  res@vcRefAnnoPerimOn          = False      
  res@vcRefAnnoFontHeightF      = 0.015         
  res@vcRefAnnoString1On        = False         
  res@vcRefAnnoString2On        = True   
  res@vcRefAnnoString2          = "20 m/s"  

  plot =  gsn_csm_vector_map(wks,u,v,res)

  draw(base)
  frame(wks)

end

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

新浪微博达人勋

发表于 2019-12-26 08:51:59 | 显示全部楼层
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" 、

begin

  lat_tulufan = 42.0  
  lon_tulufan = 88.0              

  fu = addfile("uwnd.2019.nc","r")
  fv = addfile("vwnd.2019.nc","r")

  u = fu->uwnd(0,{850},:,:)      
  v = fv->vwnd(0,{850},:,:)

  wks = gsn_open_wks("png","poly_ex")

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

  res@gsnLeftString  = ""
  res@gsnRightString  = ""

  res@pmTickMarkDisplayMode = "Always"

  res@mpMinLatF   = 20      
  res@mpMaxLatF   = 70
  res@mpMinLonF   = 30
  res@mpMaxLonF   = 120  


  res@vcGlyphStyle         = "FillArrow"

  res@vcFillArrowEdgeColor    = "white"
  res@vcFillArrowFillColor    = "black"
  res@vcMinMagnitudeF         = "5.0"
  res@vcMinDistanceF          = "0.02"

  res@vcFillArrowMinFracWidthF = 1.0
  res@vcFillArrowHeadMinFracXF = 1.0  
  res@vcFillArrowHeadMinFracYF = 1.0

  res@vcFillArrowMinFracWidthF  = 1.0
  res@vcFillArrowHeadMinFracXF  = 1.0
  res@vcFillArrowHeadMinFracYF  = 1.0

  res@vcRefAnnoOn               = True  
  res@vcRefMagnitudeF           = 20      
  res@vcRefLengthF              = 0.04   
  res@vcRefAnnoBackgroundColor  = "white"     
  res@vcRefAnnoPerimOn          = False      
  res@vcRefAnnoFontHeightF      = 0.015         
  res@vcRefAnnoString1On        = False         
  res@vcRefAnnoString2On        = True   
  res@vcRefAnnoString2          = "20 m/s"  

  plot =  gsn_csm_vector_map(wks,u,v,res)


   mkres               = True
   mkres@gsMarkerColor = "black"
   mkres@gsMarkerSizeF = 0.02
   mkres@gsMarkerIndex = 4
   dum1  = gsn_add_polymarker(wks,plot,lon_tulufan,lat_tulufan,mkres)


  txres                 = True
  txres@txFontHeightF   = 0.015
  txres@txFontColor     = "black"
  dum2 = gsn_add_text(wks,plot,"Tulufan",lon_tulufan,lat_tulufan+4.0,txres)

  draw(plot)
  frame(wks)

end


给你改了,gsn_csm_vector_map,看到map了没?这个自带地图,不需要你再绘制。所以删了你 bsae = 那一行。你最后draw的是base,plot并没有绘制,所以你只能看到地图,看不到风矢量。别急着运行,先想想,琢磨琢磨。加油
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-12-26 09:55:59 | 显示全部楼层
18380463812 发表于 2019-12-26 08:51
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm ...

好的!谢谢大神!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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