爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5899|回复: 6

[作图] 请教一下ncl的作图顺序问题

[复制链接]

新浪微博达人勋

发表于 2019-8-30 13:25:00 | 显示全部楼层 |阅读模式

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

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

x
经常会遇到这样的报错
warning:xyYStyle is not a valid resource in diff_21_170y_contour at this time
warning:xyYIrregularPoints is not a valid resource in diff_21_170y_contour at this time

改变了位置顺序也没有用,请教一下在设置res的时候的顺序大致是什么样的?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2019-8-30 13:27:27 | 显示全部楼层
原代码如下:
begin
file1 = systemfunc("ls ../out_data/temp_diff_150y.nc")
in    = addfile(file1,"r")
temp  =in ->TEMP_DIFF  ;(150,50)
zt    =in ->depth
zt2   =zt(::-1)
temp1 = transpose(temp)

        wks = gsn_open_wks("png","diff_21_170y")
        res = True
        res@xyYStyle                = "Irregular"
        res@xyYIrregularPoints      = (/200,400,600,800,1000,2000,3000,4000,5000/)
        res@gsnMaximize = True

        res@cnFillOn                = True     ;turn on color fill
        res@cnFillPalette           = "BlueYellowRed"   ;color map
        res@cnLineLabelsOn          = False ;contour line labels
        res@cnLinesOn               = True ;contour lines
        res@cnInfoLabelOn           = False ;contour info label

        res@lbOrientation           = "vertical" ;vertical label bar

        res@sfXArray                = temp&year        ;xlabel
        ;res@sfYArray                = temp&depth       ;ylabel

        ;res@tiXAxisString           = "Model Year";xaxis name
        ;res@tiYAxisString           = "Depth(meters)" ;yaxis name

        ;res@trYReverse              = True


  plot  = gsn_csm_contour(wks,temp1,res)           ; create PLOT

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

使用道具 举报

新浪微博达人勋

发表于 2019-8-30 16:48:24 | 显示全部楼层
ncl是顺序语句,也就是说命令执行时一条一条向下的,关于xyYstyle的设置,其实可以用TickMark应该也可以实现,可以用tmYLMode或tmYRMode设置为显式,用tmYLValue或tmYRValue提供比例
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-8-30 20:11:41 | 显示全部楼层
res@xyYStyle这种xy开头的属性是在gsn_csm_xy这种绘图函数中使用的,在绘制等值线的函数里不能用,更改等值线的线条样式要使用res@cn开头的属性
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-8-30 20:56:32 | 显示全部楼层
好久不见 发表于 2019-8-30 20:11
res@xyYStyle这种xy开头的属性是在gsn_csm_xy这种绘图函数中使用的,在绘制等值线的函数里不能用,更改等值 ...

请问wrfout数据里有和gsn_csm_xy对应的函数吗
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-8-31 09:18:40 | 显示全部楼层
云雾里 发表于 2019-8-30 16:48
ncl是顺序语句,也就是说命令执行时一条一条向下的,关于xyYstyle的设置,其实可以用TickMark应该也可以实 ...

您好。冒昧的打扰一下。我有一个随深度变化的温度数据,想要画一下垂向分布。但是深度他是不等间隔的(5,10,20,……,100,300)这样的,想要设置画出来的图是等间隔(10:10:1000)这样的。我试着做了一个插值,但不正确。请问能直接在res中设置让深度轴等间隔吗?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-8-31 18:59:39 | 显示全部楼层
个人认为,如果你只是要做坐标轴标识的等间隔显示,应该是可以实现的,可以试试用固定坐标轴标签的方法,比如是X轴底部标签可以试试tmXBMode=“Manual”、tmXBTickstartF、tmXBTickEndF、tmXBTickSpacingF等试试
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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