爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 24058|回复: 33

[作图] NCL作图时,色标下面的数值小数点前面的0不能显示出来

[复制链接]

新浪微博达人勋

发表于 2017-2-11 12:06:41 | 显示全部楼层 |阅读模式

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

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

x
NCL作图时,色标下面的数值小数点前面的0不能显示出来,请问各位大神应该如何解决?谢谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2020-3-18 23:24:02 | 显示全部楼层
res@cnLineLabelFormat="0@;*.1f"
密码修改失败请联系微信:mofangbao
回复 支持 2 反对 0

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2017-2-13 23:18:25 | 显示全部楼层
愛、星晴 发表于 2017-2-13 20:41
delete删除两个以上变量要写成这种形式,delete([/A,B,C,D/]),一般比较长的程序变量比较多,为了节省内存 ...

删了之后还是报错,我再看看脚本
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2017-2-11 15:26:53 | 显示全部楼层
本帖最后由 愛、星晴 于 2017-2-11 15:54 编辑

我怀疑是你色标距离太短放不下,就自动省略了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-2-11 16:36:47 | 显示全部楼层
愛、星晴 发表于 2017-2-11 15:26
我怀疑是你色标距离太短放不下,就自动省略了。

谢谢您的回复,色标之间距离还是挺大的,不知道是什么缘故
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-2-11 16:38:05 | 显示全部楼层
这是图片,还请大家帮个忙~
1486802494(1).jpg
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-2-11 16:56:52 | 显示全部楼层
把你的程序贴出来。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-2-11 17:37:44 | 显示全部楼层
zly4814624 发表于 2017-2-11 16:56
把你的程序贴出来。

谢谢您的回复,我做的是一个差值图,下面是程序,烦请您看一下,谢谢
a = addfile("/home/zhy/program/test-wrf/WRFV3/test/em_real/output/wrfout_d01_2014-10-07-10.nc","r")
  b = addfile("/home/zhy/program/test-wrf/WRFV3/test/em_real/output/wrfout_d01_2014-10-07-10.OW.nc","r")
type = "png"
wks = gsn_open_wks(type,"Meteorological")
res = True
  res@MainTitle                   = "REAL-TIME WRF"
  res@Footer = False

  pltres = True
  mpres = True


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  times = wrf_user_getvar(a,"times",-1)  ; get all times in the file
  ntimes = dimsizes(times)         ; number of times in the file
f1 = wrf_user_getvar(a,"T2",-1)
  f2 = wrf_user_getvar(b,"T2",-1)
  t = f1-f2
do it = 0,ntimes-1,1             ; TIME LOOP
   wks = gsn_open_wks("png","Meteorological"+times(it))
    print("Working on time: " + times(it) )
    res@TimeLabel = times(it)   ; Set Valid time to use on plots

    ; Plotting options for T
      opts = res
      opts@cnFillOn = True
      opts@gsnSpreadColors = True
      opts@cnLevelSelectionMode ="Manuallevels"
      opts@cnMinLevelValF=-0.6
      opts@cnMaxLevelValF=0.2
      opts@cnLevelSpacingF = 0.2
      opts@cnLineLabelsOn       = False            ; do not use line labels
      opts@cnLinesOn            = False            ; do not draw contour lines
      contour_t = wrf_contour(a,wks,t(it,:,:),opts)
     opts@cnInfoLabelOn        = False
      delete(opts)
      plot1 = wrf_map_overlays(a,wks,(/contour_t/),pltres,mpres)
end do        ; END OF TIME LOOP
end



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

新浪微博达人勋

发表于 2017-2-11 18:35:43 | 显示全部楼层
本帖最后由 愛、星晴 于 2017-2-11 20:44 编辑

用wrf_contour函数画图的时候它的目前设定就是这样省略小数点前面的0,不能改变。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-2-12 02:41:56 | 显示全部楼层
你可以尝试一下手动设置色标。那样是完全可以解决你现在的问题的。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-2-12 09:24:44 | 显示全部楼层
愛、星晴 发表于 2017-2-11 18:35
用wrf_contour函数画图的时候它的目前设定就是这样省略小数点前面的0,不能改变。

请问如果换一种能显示0的话,可以选择哪一种
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-2-12 09:33:45 | 显示全部楼层
zly4814624 发表于 2017-2-12 02:41
你可以尝试一下手动设置色标。那样是完全可以解决你现在的问题的。

按照您的建议,我做了如下修改:
      contour_t = wrf_contour(a,wks,t(it,:,:),opts)
      opts@cnLevelSelectionMode ="ExplicitLevels"
      opts@tmXBMode = "Explicit"
      opts@cnLevels =(/-0.2,-0.1,-0.08,-0.06,-0.04,-0.02,0,0.01,0.02,0.04,0.05/)
但是仍然是不能显示0,并且最大最小值还不是按照我设定的值
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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