爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: 贝頥嚫

NCL画图坐标问题

[复制链接]

新浪微博达人勋

 楼主| 发表于 2014-3-19 10:17:39 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-3-19 10:19:45 | 显示全部楼层
贝頥嚫 发表于 2014-3-19 10:17
加了呢。。。

把代码贴出来看看吧!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-3-19 10:27:46 | 显示全部楼层
longlivehj 发表于 2014-3-19 10:19
把代码贴出来看看吧!

好了!!我发现下面还有一个res@tmXBMode。。嘻嘻
对了,我还想在每个数据点上面加上风向杆,指示风向和风速,这个您了解怎么弄么?我找不到这样的示例图。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-3-19 14:21:43 | 显示全部楼层
本帖最后由 longlivehj 于 2014-3-19 14:26 编辑
贝頥嚫 发表于 2014-3-19 10:27
好了!!我发现下面还有一个res@tmXBMode。。嘻嘻
对了,我还想在每个数据点上面加上风向杆,指示风向和 ...

QQ图片20140319141748.jpg

是这个意思么?
这个要用到wmbarb,具体用法看看ncl的帮助吧!
下面是代码,用随机函数造的uwnd和vwnd(为了让它有点意义,把范围控制在-20~20,呵呵!),其它变量和之间的一样。你作为参考!

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/contrib/cd_string.ncl"

begin

    units = "hours since 1-1-1 00:00:0.0"
    xbrange = tointeger(cd_inv_calendar((/1, 1/), (/1, 1/), (/12, 15/), (/12, 18/), (/0, 0/), (/0, 0/), units, 0))
    xbvalues = ispan(xbrange(0), xbrange(1), 6)
    xbvalues@units = units
    xblabels = cd_string(xbvalues, "%d.%H")

    npts = dimsizes(xbvalues)
    random = new(npts, "float")
    do i = 0, npts - 1
        random(i) = rand()
    end do

    low  = -20.0
    high = 20.0
    con  = (high - low) / 32766.0

    srand(1234)

    uwnd = new(npts, "float")
    do i = 0, npts - 1
        uwnd(i)= low + con * rand()
    end do

    srand(5678)

    vwnd = uwnd
    do i = 0, npts - 1
        vwnd(i) = low + con * rand()
    end do

    xyres = True
    xyres@gsnFrame = False

    xyres@tmXBMode = "Explicit"
    xyres@tmXBValues = xbvalues
    xyres@tmXBLabels = xblabels

    xyres@tmXBLabelFontHeightF = .01
    xyres@tmYLLabelFontHeightF = .01

    xyres@trXMinF = xbvalues(0)
    xyres@trXMaxF = xbvalues(npts - 1)

    wks = gsn_open_wks ("x11", "time_axis")

    xyplot = gsn_csm_xy(wks, xbvalues, random, xyres)

    wmsetp("wdf", 1)
    wmbarb(wks, tofloat(xbvalues), random, uwnd, vwnd)

    frame(wks)
end
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-3-25 16:20:33 | 显示全部楼层
longlivehj 发表于 2014-3-19 14:21
是这个意思么?
这个要用到wmbarb,具体用法看看ncl的帮助吧!
下面是代码,用随机函数造的uwnd和v ...

不好意思,我还有一个问题想问下。还是上面那个图,横坐标我想隔一个显示一个,要怎么弄呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-3-25 16:25:03 | 显示全部楼层
少写数字就是了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-3-25 16:58:06 | 显示全部楼层
贝頥嚫 发表于 2014-3-25 16:20
不好意思,我还有一个问题想问下。还是上面那个图,横坐标我想隔一个显示一个,要怎么弄呢?

加一条语句
    xblabels(1::2) = ""
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-3-26 10:53:20 | 显示全部楼层
想加一条五级风的标志线,程序如下,但是图不正确,哪里的问题呢?
  n=dimsizes(wind)
   u6=new(n,float)
   u6=(/10.8/)
  print(n)
  plot = gsn_csm_xy(wks,xbvalues,random,res)
  
  gsres     = True
gsres@gsMarkerIndex  = 2
gsres@gsMarkerSizeF      = .003
gsres@gsMarkerColor     = ("blue")
creats60 =new(dimsizes(u6),graphic)

do t=0,n-1
creats60(t) = gsn_add_polymarker(wks,plot,t,u6(t),gsres)
end do

QQ截图20140326105049.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-3-26 11:02:03 | 显示全部楼层
贝頥嚫 发表于 2014-3-26 10:53
想加一条五级风的标志线,程序如下,但是图不正确,哪里的问题呢?
  n=dimsizes(wind)
   u6=new(n,floa ...

画线要用gsn_add_polyline
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-3-26 11:30:14 | 显示全部楼层
QQ截图20140326112824.png
就这样了,别的地方我没改。
QQ截图20140326110901.png
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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