爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 23263|回复: 31

[作图] NCL小波画图遇到的问题,求解决。

[复制链接]

新浪微博达人勋

发表于 2014-5-30 23:29:20 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 hxyj 于 2014-5-30 23:33 编辑

最近一直用NCL小波分析数据,并画图。但遇到一个问题,就是画出的图的左上角与右上角总是不对称。需要说明的是,如果把 plot2= gsn_csm_contour(wks,power({0:25},:),resL) 里面的{0:25}改为{0:22}就不会出现左右不对称的问题,但这样显示的纵坐标太短。
下面附上我的脚本,数据和图,能否麻烦老师给予解答。不胜感激。祝各位端午节快乐!

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/csm/shea_util.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/skewt_func.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/wind_rose.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/contrib/run_cor.ncl"

begin

   f3                  =asciiread("D:\paper\20140525\EOF\time\pc1.txt",63,"float")
   nin3                =f3

   ninox               =nin3
   ninox!0             ="time"
   ninox&time          =ispan(1951,2013,1)
;...................................................................wavelet
  y                                        = ninox
  N                                        = dimsizes(y)  ;60
  m                                        = 0
  dt                                       = 1
  param                                    = 6
  s0                                       = 1.5*dt
  dj                                       = 0.125
  jtot                                     = 1 + floattointeger(((log10(N*dt/s0))/dj)/log10(2.)) ;20
  npad                                     = 1024
  noise                                    = 1
  isigtest                                 = 1
  siglvl                                   = 0.1
  nadof                                    = 0
  wave                                     = wavelet(y,m,dt,param,s0,dj,jtot,npad,noise,isigtest,siglvl,nadof)
  power                                    = onedtond (wave@power, (/jtot,N/) )
  phase                                    = onedtond (wave@phase, (/jtot,N/) )
  power!0                                  = "period"                        ; Y axis
  power&period                             = wave@period
  power!1                                  = "time"                          ; X axis
  power&time                               = y&time
  power@long_name                          = " "
  gws                                      = wave@gws
  SIG                                      = power           ; transfer metadata
  SIG                                      = power/conform(power,wave@signif,0)
  SIG@long_name                            = " "
;************************************************create plot
  wks= gsn_open_wks("x11","wavelet")  
  gsn_define_colormap(wks,"MPL_GnBu")

  resL                                 = True
  resL@gsnDraw                         = False
  resL@gsnFrame                        = False   
  resL@trYReverse                      = True                  ; reverse y-axis
  resL@tmXBMode                        = "Explicit"
  resL@tmXBValues                      = ispan(1960,2010,10)
  resL@tmXBLabels                      = (/"1960","1970","1980","1990","2000","2010"/)

  plot2                                = gsn_csm_contour(wks,power({0:25},:),resL)
  res1                                = True
  plot2                                = ShadeCOI(wks,plot2,wave,y&time,res1)
  draw(plot2)
  frame(wks)
end





小波分析

小波分析

wavelet-example.ncl

3.06 KB, 下载次数: 79, 下载积分: 金钱 -5

脚本

pc1.txt

819 Bytes, 下载次数: 70, 下载积分: 金钱 -5

一维时间序列

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

新浪微博达人勋

发表于 2014-5-31 12:45:52 | 显示全部楼层
从shadecoi的ncl源码来来看,的确是会出现左右不对称的情况。但为了达到你提出的要求,我修改了源码。至于这样修改对与否,因为我不太懂小波这块,还请楼主自己把握。防止破坏ncl原始代码,使用的时候将load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"中的路径换为下面这个我修改过的文件实际存放的位置。

shea_util.ncl (156.69 KB, 下载次数: 201)
密码修改失败请联系微信:mofangbao
回复 支持 2 反对 0

使用道具 举报

新浪微博达人勋

发表于 2016-5-16 08:54:14 | 显示全部楼层
好东西,学习下
密码修改失败请联系微信:mofangbao
回复 支持 0 反对 1

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2014-5-31 14:30:46 | 显示全部楼层
longlivehj 发表于 2014-5-31 12:45
从shadecoi的ncl源码来来看,的确是会出现左右不对称的情况。但为了达到你提出的要求,我修改了源码。至于 ...

非常感谢您的回复与解决。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-6-6 22:51:43 | 显示全部楼层
很漂亮,还有显著性检验。{:eb502:}{:eb502:}{:eb502:}{:eb502:}
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-6-10 17:20:33 | 显示全部楼层
你好,我想问一下你这个边界影响区域是怎么画的?对这个函数不太懂
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-6-28 21:33:39 | 显示全部楼层
一起学习
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2014-8-29 22:12:45 | 显示全部楼层
学习了学习了!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-8-30 18:50:59 | 显示全部楼层
好好学习{:eb513:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2014-9-9 22:09:52 | 显示全部楼层
简单易行的程序
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-3-29 18:59:06 | 显示全部楼层
好东西,学习下
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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