爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 17130|回复: 25

[作图] NCL 出ps和eps格式的图大小为0KB??求助

[复制链接]

新浪微博达人勋

发表于 2016-1-19 12:59:32 | 显示全部楼层 |阅读模式

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

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

x
请教各位大神,NCL出图的时候,ps和eps格式的图大小为0KB,出png和pdf格式的图是正常的(同一脚本),求帮助
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-1-19 14:01:00 | 显示全部楼层
是少安了啥东西么?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-1-19 14:02:44 | 显示全部楼层
大神帮忙指点下啊..
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-1-19 14:30:44 | 显示全部楼层
把你的脚本贴上来看看,不然不知道问题在哪儿
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-1-19 14:35:21 | 显示全部楼层
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"
load "$NCARG_ROOT/lib/ncarg/nclscripts/cnmap/cnmap.ncl"

begin

  data  = asciiread("/home/lhz/sta_final/final_ave.txt",156,"float")
  sta   = asciiread("/home/lhz/sta_final/station156.txt",(/156,3/),"float")

  final_ave = data(:)
  lon       = sta(:,1)
  lat       = sta(:,2)

  olon = fspan(97,109,52)
  olat = fspan(26,35,40)

  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


  final_ave@_FillValue = -999.000000
  rscan = (/10,7,4,1/)     
  final = obj_anal_ic_deprecated(lon,lat,final_ave,olon,olat,rscan,False)


  wks = gsn_open_wks ("ps","sta_final_ave")  


   
  res                         = True            
  res@gsnMaximize             = True
  res@gsnDraw                 = False
  res@gsnFrame                = False
  res@gsnLeftString           = "Annual_Precipitation"

;>--------------------------------------------<
;            set for the map
;>--------------------------------------------<

  res@mpMinLatF               = 26.                        
  res@mpMaxLatF               = 35.
  res@mpMinLonF               = 97.
  res@mpMaxLonF               = 109.

  res@tmXBMode                = "Explicit"   
  res@tmXBValues              = (/97,99,101,103,105,107,109/)
  res@tmXBLabels              = (/"97~S~o~N~E","99~S~o~N~E","101~S~o~N~E","103~S~o~N~E","105~S~o~N~E","107~S~o~N~E","109~S~o~N~E"/)   
  res@tmXBMinorValues         = fspan(97,109,31)
  res@tmXBMinorOn             = True  
  
  res@tmYLMode                = "Explicit"   
  res@tmYLValues              = (/26,28,30,32,34,36/)
  res@tmYLLabels              = (/"26~S~o~N~N","28~S~o~N~N","30~S~o~N~N","32~S~o~N~N","34~S~o~N~N","36~S~o~N~N"/)   
  res@tmYLMinorValues         = fspan(26,36,26)
  res@tmYLMinorOn             = True  


  res@mpFillOn                = True
  res@mpOutlineOn             = False            
  res@cnFillDrawOrder         = "PreDraw"
  res@mpDataBaseVersion       = "MediumRes"
  res@mpDataSetName           = "Earth..4"
  res@mpAreaMaskingOn         = True
  res@mpMaskAreaSpecifiers    = (/"China","Taiwan","Disputed area between India and China","India:Arunachal Pradesh"/)
  res@mpLandFillColor         = "white"
  res@mpInlandWaterFillColor  = "white"
  res@mpOceanFillColor        = "white"
  res@mpOutlineBoundarySets   = "NoBoundaries"


;>--------------------------------------------<
; set for the plot
;>--------------------------------------------<


  res@cnFillOn                = True               
  res@cnLinesOn               = False            
  res@cnLevelSpacingF         = 10.0            
  res@gsnSpreadColors         = True         
  res@lbLabelAutoStride       = True
  res@gsnAddCyclic            = False   
            
  map=gsn_csm_contour_map(wks,final,res)


;>------------------------------------------------------------<
;                add China map
;>------------------------------------------------------------<


  cnres           = True
  cnres@china     = True        
  cnres@river     = False      
  cnres@province  = True   
  cnres@nanhai    = False      
  cnres@diqu      = True      
  chinamap        = add_china_map(wks,map,cnres)

;>------------------------------------------------------------<

  station             = asciiread("/home/lhz/sta_final/station156.txt",(/156,3/),"float")  
  
  res2                 = True                       
  res2@gsMarkerIndex   = 16                       
  res2@gsMarkerSizeF   = 6.               
  res2@gsMarkerColor   = "black"                  
  res2@tfPolyDrawOrder = "PostDraw"  
  res2@cnFillDrawOrder = "PostDraw"  

  plots=gsn_add_polymarker(wks,map,station(:,1),station(:,2),res2)

  delete(res2)  



;>------------------------------------------------------------<
;            add SiChuan map
;>------------------------------------------------------------<


  filename = "/home/lhz/SHP/shengjie/bou2_4p.shp"   
   
  f = addfile(filename, "r")   
  
  NAME=(/f->NAME/)  
  asciiwrite ("/home/lhz/SHP/NAME.txt", NAME)
  sichuan=(/NAME(205)/)  


  geometry = f->geometry  
  segments = f->segments  
  geomDims = dimsizes(geometry)  
  segsDims = dimsizes(segments)  
   

  geom_segIndex = f@geom_segIndex  
  geom_numSegs  = f@geom_numSegs  
  segs_xyzIndex = f@segs_xyzIndex  
  segs_numPnts  = f@segs_numPnts  
  
  lines         = new(segsDims(0),graphic)   
  numFeatures   = geomDims(0)  
  
  
  dlon   = f->x  
  dlat   = f->y  
  
  plres                   = True        
  plres@gsEdgesOn         = True         
  plres@gsEdgeColor       = "black"     
  plres@cnFillDrawOrder   = "PostDraw"  
  plres@tfPolyDrawOrder   = "draw"      
  
  segNum = 0  

  do i=0, numFeatures-1   
         plres@gsFillColor = "gray"
     if( NAME(i).eq.sichuan) then  
         plres@gsFillColor = "transparent"
     end if  
         startSegment = geometry(i, geom_segIndex)      
         numSegments  = geometry(i, geom_numSegs)   
         do seg=startSegment, startSegment+numSegments-1  
            startPT = segments(seg, segs_xyzIndex)      
            endPT = startPT + segments(seg, segs_numPnts)-1
            lines(segNum) = gsn_add_polygon(wks, map, dlon(startPT:endPT), dlat(startPT:endPT), plres)  
            segNum = segNum + 1  
         end do        
  end do  

  delete(plres)  

  draw(map)

  frame(wks)

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

新浪微博达人勋

 楼主| 发表于 2016-1-19 14:35:56 | 显示全部楼层
1277105864 发表于 2016-1-19 14:30
把你的脚本贴上来看看,不然不知道问题在哪儿

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

新浪微博达人勋

 楼主| 发表于 2016-1-19 14:36:57 | 显示全部楼层
1277105864 发表于 2016-1-19 14:30
把你的脚本贴上来看看,不然不知道问题在哪儿

出ps和eps格式的图大小为0KB,出png和pdf格式的图是正常的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-1-20 11:27:25 | 显示全部楼层
546243727 发表于 2016-1-19 14:36
出ps和eps格式的图大小为0KB,出png和pdf格式的图是正常的

你把这个命令res@gsnMaximize  = True去掉,看行不行
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-1-20 11:55:50 | 显示全部楼层
546243727 发表于 2016-1-19 14:36
出ps和eps格式的图大小为0KB,出png和pdf格式的图是正常的

看你的脚本写的挺好的,就是有一点不懂,为啥要delete?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-1-20 13:11:42 | 显示全部楼层
1277105864 发表于 2016-1-20 11:27
你把这个命令res@gsnMaximize  = True去掉,看行不行

还是出不了
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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