爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 13935|回复: 10

NCL如何实现不等距坐标轴分布

[复制链接]

新浪微博达人勋

发表于 2014-10-10 19:01:30 | 显示全部楼层 |阅读模式
NCL
系统平台: NCL Linux
问题截图:
问题概况: 为突出强调XY图某段区间,所以想设计不等间距的x轴,但是看了NCL官网上的相关的教程(如Tick marks,Axes等),没有找到对应的教程,求相关教程或实现方法。
我看过提问的智慧: 看过
自己思考时长(天): 15

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

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

x
XY图x轴不等间距分布这是我画的,重要信息没强调出来,x轴从0到0.5等间距分布:

111111111111111111.png


这是我在文献上看到的,0到0.1之间的信息被强调,0.1-0.5之间的信息被弱化,瞬间想依葫芦画瓢弄一个,可是在官网上搜了半天没找到例子,希望大神指点一二:
22222222222222222.png

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

新浪微博达人勋

发表于 2014-10-13 17:24:19 | 显示全部楼层
Jillou娄 发表于 2014-10-13 16:51
您好!可不可以再请教一个问题。按照您提供的例子,已成功画出谱分析图,但是调变换后的坐标时遇到困难。 ...

我把代码贴出来吧!刚控制了一下坐标的精度,好像是可以起作用的。
xy.png

;*************************************************
; xy_8.ncl
;
; Concepts illustrated:
;   - Forcing tickmarks and labels to be drawn on the top X axis in an XY plot
;   - Changing the line dash pattern in an XY plot
;   - Explicitly setting tickmarks and labels on the top X axis
;
;************************************************
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"   
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"   
;************************************************
begin
;************************************************
; read in data
;************************************************
   fn  = "SOI_Darwin.nc" ; define filename
   in  = addfile(fn,"r")                                 ; open netcdf file
   soi = in->DSOI                                       ; get data
;************************************************
; calculate spectrum
;************************************************
  spec = specx_anal(soi,0,7,0.10)
;************************************************
; plotting
;************************************************
   wks  = gsn_open_wks("newpng","xy")                  ; Opens a ps file

   res               = True                       ; plot mods desired
   res@tiMainString  = "Period (months/cycle)"     ; title
   res@tiXAxisString = "Frequency (cycles/month)"  ; xaxis string
   res@tiYAxisString = "Variance"                  ; yaxis string

; add additional axis on top of plot
   res@tmXUseBottom  = False      ; Keep top axis independent of bottom.
   res@tmXTLabelsOn  = True       ; have tick mark labels
   res@tmXTOn        = True       ; have tick marks
   res@tmXTMode      = "Explicit" ; label independently
   res@tmXTValues    = (/0.0,0.10,0.20,0.30,0.40,0.50/)

   xpts = fspan(0, 0.1, 5)
   xpts := array_append_record(xpts, (/.2, .3, .4, .5/), 0)

  res@xyXStyle = "Irregular"
  res@trXAxisType = "IrregularAxis"
  res@xyXIrregularPoints = xpts


   res@tmXBPrecision = 3

   plot=gsn_csm_xy(wks,spec@frq,spec@spcx,res)     ; create plot   
end

密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2014-10-10 20:37:53 | 显示全部楼层
http://www.ncl.ucar.edu/Applications/xy.shtml
根据里面的第30个例子改一下
1.png 2.png


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

新浪微博达人勋

 楼主| 发表于 2014-10-10 21:01:15 | 显示全部楼层
longlivehj 发表于 2014-10-10 20:37
http://www.ncl.ucar.edu/Applications/xy.shtml
根据里面的第30个例子改一下。

非常感谢,一直在官网上找例子,没有找到,现在可以利用上了,谢谢!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-10-10 22:50:23 | 显示全部楼层
刚好我也需要这个啊,太感谢了,你们真是太好了!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-10-10 22:51:50 | 显示全部楼层
请问您能把改的地方贴上来吗?本人太菜了,不知道怎么改!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-10-11 10:32:24 | 显示全部楼层
嘟嘟鱼 发表于 2014-10-10 22:51
请问您能把改的地方贴上来吗?本人太菜了,不知道怎么改!

按官网上贴的照抄就行。主程序不多,上面的那段define复制粘贴就行了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-10-13 16:51:53 | 显示全部楼层
本帖最后由 Jillou娄 于 2014-10-13 16:52 编辑

您好!可不可以再请教一个问题。按照您提供的例子,已成功画出谱分析图,但是调变换后的坐标时遇到困难。 缓一缓以后也.png

regress.png

这个是出图,横坐标想缩小字体,或者只保留两位,为此进行了尝试,但是在不规则坐标里使用以下resource不能实现:
res@tmXBLabelFontHeightF = 0.015         
res@tmYLFormat = "#+^se"               ; don't use "e" symbol
res@tmXBPrecision = 2                ; set the precision to 2 significant digits

这三条都是在原有的等间距的坐标里实现的,在不规则坐标里无法体现。

然后我按照您给的实例对不规则坐标进行修改,如下:
setvalues plot
    "tmXBPrecision" : 2
    "tmYLFormat": "#+^se"
   "tiMainString": "aaaaaaaa"
   "tmXBLabelFontHeightF" : 0.015         
  end setvalues


结果只有   "tiMainString": "aaaaaaaa"一条实现了,请问有修改方法,或者是哪里操作不当吗?

谢谢!



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

新浪微博达人勋

发表于 2014-10-16 10:37:32 | 显示全部楼层
Jillou娄 发表于 2014-10-13 16:51
您好!可不可以再请教一个问题。按照您提供的例子,已成功画出谱分析图,但是调变换后的坐标时遇到困难。 ...

功率谱是超过最大信度值的周期才可用么
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-10-17 09:00:16 | 显示全部楼层
水霖玲 发表于 2014-10-16 10:37
功率谱是超过最大信度值的周期才可用么

看你设置的信度了,设95%没有超过的,就设90%试试,超过显著性检验比较有说头
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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