爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: 贝頥嚫

NCL画图坐标问题

[复制链接]

新浪微博达人勋

发表于 2014-3-26 12:27:07 | 显示全部楼层
贝頥嚫 发表于 2014-3-26 11:30
就这样了,别的地方我没改。

line = gsn_add_polyline(wks, plot, (/xbvalues(0), xbvalues(n - 1)/), (/10.8, 10.8/), gsres)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-8 15:16:11 | 显示全部楼层
longlivehj 发表于 2014-3-26 12:27
line = gsn_add_polyline(wks, plot, (/xbvalues(0), xbvalues(n - 1)/), (/10.8, 10.8/), gsres)

求救高手。我要把风向杆改成箭头,只表示方向。程序如下。但是画出来不显示箭头,其他和以前一样。求指导。
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
  in=asciiread("text.txt",(/12,3/),"float")
print(in)
  time=in(:,0)
  vector=in(:,1)
  speed=in(:,2)
pi=3.1415926
print(vector)

print(speed)

wks = gsn_open_wks("ps" ,"test")                ; open a ps file

  gsn_define_colormap(wks,"temp_diff_18lev")

  res                       = True     ; plot mods desired
   units = "hours since 1-1-1 00:00:0.0"
  xbrange = tointeger(cd_inv_calendar((/1, 1/), (/1, 1/), (/12, 15/), (/12, 06/), (/0, 0/), (/0, 0/), units, 0))
  print(xbrange)
  xbvalues = ispan(xbrange(0), xbrange(1), 6)
  print(xbvalues)
;xbvalues = array_append_record(xbvalues(0), xbrange(1),0)
  xbvalues@units = units
  xblabels = cd_string(xbvalues, "%d.%H")
  print(xbvalues)
  npts = dimsizes(xbvalues)
  random = new(npts,float)
  uwnd = new(npts,float)
  vwnd = new(npts,float)
  do a = 0, npts - 1
     random(a) = speed(a)
  end do

  do a = 0, npts - 1
     vwnd(a) = speed(a)*cos(vector(a)*pi/180.0)
  end do

   do a = 0, npts - 1
     uwnd(a) = speed(a)*sin(vector(a)*pi/180.0)
  end do

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

res@tmXBLabelFontHeightF = .01
res@tmYLLabelFontHeightF = .01

res@trXMinF = xbvalues(0)
res@trXMaxF = xbvalues(npts - 1)
  ;res@vpWidthF = 0.6
; res@vpHeightF = 1.0


  plot = gsn_csm_xy(wks,xbvalues,random,res)

; wmsetp("vrs - reference vector size",50.)
; wmsetp("vrn - NDC size of a reference vector size",0.3)
; wmsetp("vcc - vector color",2)
; wmsetp("vcw - vector linewidth scale factor",4.)
  wmsetp("wdf",1)
  wmvect(wks,tofloat(xbvalues),random,uwnd,vwnd)

  draw(plot)
  frame(wks)
end


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

新浪微博达人勋

发表于 2014-4-8 15:35:41 | 显示全部楼层
贝頥嚫 发表于 2014-4-8 15:16
求救高手。我要把风向杆改成箭头,只表示方向。程序如下。但是画出来不显示箭头,其他和以前一样。求指导 ...

我的可以啊,看代码也看不出有什么问题,最好能把数据txt发给我一下。
time_axis.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-8 16:25:23 | 显示全部楼层
longlivehj 发表于 2014-4-8 15:35
我的可以啊,看代码也看不出有什么问题,最好能把数据txt发给我一下。

啦啦,我少写了一个语句。。。图画出来了。我的时间序列比较长,但是显示的图都挤到一起了。能不能增长X轴的长度呢?还有就是这个箭头是带大小的,我不想要大小,想让他们一样长。
QQ截图20140408162309.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-8 16:35:30 | 显示全部楼层
本帖最后由 longlivehj 于 2014-4-8 16:36 编辑
贝頥嚫 发表于 2014-4-8 16:25
啦啦,我少写了一个语句。。。图画出来了。我的时间序列比较长,但是显示的图都挤到一起了。能不能增长X ...

第一个问题:
用vpXF、vpYF、vpWidthF和vpHeightF来控制图的位置和大小。
第二个问题:
vector应该是方向角度,speed是全风速吧,在求uwnd和vwnd时不要用speed,自己指定一个常数,所有箭头都一样长了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-8 16:47:50 | 显示全部楼层
longlivehj 发表于 2014-4-8 16:35
第一个问题:
用vpXF、vpYF、vpWidthF和vpHeightF来控制图的位置和大小。
第二个问题:

但是图太大了 超出边界了 是不是得把页面设置成横向的?
QQ截图20140408164634.png

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

新浪微博达人勋

发表于 2014-4-8 16:50:10 | 显示全部楼层
贝頥嚫 发表于 2014-4-8 16:47
但是图太大了 超出边界了 是不是得把页面设置成横向的?

o(∩∩)o...哈哈,怎么超出边界了,应该是NDC坐标没弄对。
调成横向应该是个不错的主意。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-9 10:39:40 | 显示全部楼层
longlivehj 发表于 2014-4-8 16:50
o(∩∩)o...哈哈,怎么超出边界了,应该是NDC坐标没弄对。
调成横向应该是个不错的主意。

怎么弄啊。。。NDC坐标是什么?也没找到调横向的语句。这两天NCL网站崩溃了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-9 10:55:34 | 显示全部楼层
贝頥嚫 发表于 2014-4-9 10:39
怎么弄啊。。。NDC坐标是什么?也没找到调横向的语句。这两天NCL网站崩溃了。

调整页面到横向:
res@wkOrientation="landscape"

NDC坐标就是标准化设备坐标,坐标范围都是0到1。具体的到ncl网站上了解吧,有专门的view port一节。我这里ncl网站没有问题啊!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-11 15:54:04 | 显示全部楼层
重新接受新东西,总得花点时间学习,感谢分享!
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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