- 积分
- 362
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-2-25
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
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
|
|