爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6480|回复: 4

使用NCL读取结构化的txt数据文件并绘制图像

[复制链接]
发表于 2020-5-6 17:52:03 | 显示全部楼层 |阅读模式

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

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

x
今天使用NCL读取AMO和PDO的txt数据文件,并绘制时间序列图。
数据结构如下:列是月份,行是年份
截屏2020-05-06 下午5.40.51.png
提取的代码如下:
begin
      DIR = "/share/home/guowd/kangzj/Scripts/NCLHub/PDO/"
      MYFILES = systemfunc("ls " + DIR +"*.txt")
      AMO_FILE = MYFILES(0)
      PDO_FILE = MYFILES(1)
      AMO_RD = asciiread(AMO_FILE,-1,"string")
      PDO_RD = asciiread(PDO_FILE,-1,"string")

      ;processing the raw data
      nfields = str_fields_count(AMO_RD(1)," ")
      AMO_my = new((/67,12/),float)
      PDO_my = new((/67,12/),float)

      do i=0,11
      AMO_my(:,i) = stringtofloat(str_get_field(AMO_RD(1:67),i+2," "))
      PDO_my(:,i) = stringtofloat(str_get_field(PDO_RD(1:67),i+2," "))
      end do


      ; resource settings
     x_array = fspan(1948,2014,804)

      wks = gsn_open_wks("png","AMO")

      ;plot 1
      res                            = True
      res@gsnMaximize                = True
      res@vpWidthF                   = 0.8
      res@vpHeightF                  = 0.4
      res@xyLineThicknessF           = 3.5
      res@xyDashPattern              = 0.0
      res@xyLineColor                = "red"

      res@trXMaxF                    = max(x_array)
      res@trXMinF                    = min(x_array)

      ;set X Labels
      res@tmXBMode                   = "Explicit"
      res@tmXBValues                 = (/1948,1958,1968,1978,1988,1998,2008/)
      res@tmXBLabels                 = "" + res@tmXBValues
      res@tiMainString               = "Atlantic multidecadal Oscillation Index from 1948 to 2014"
      res@tiMainFontHeightF          = 0.022
      ;res@gsnLeftString              = "AMO Index"

      plot = gsn_csm_xy(wks,x_array,reshape(AMO_my,804),res)
end
出的图如下:
AMO.000001.png
密码修改失败请联系微信:mofangbao
 成长值: 0
发表于 2020-5-6 17:54:39 | 显示全部楼层
所以你想要表达什么?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-6 18:01:53 | 显示全部楼层
kermit 发表于 2020-5-6 17:54
所以你想要表达什么?

随便写写,不想表达啥!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 成长值: 0
发表于 2020-5-6 18:35:16 来自手机 | 显示全部楼层
噢噢 写得真不错!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2020-9-26 22:27:01 | 显示全部楼层
谢谢楼主分享
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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