爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9092|回复: 11

[作图] NCL做站点数据显示不同颜色的问题

[复制链接]
发表于 2016-8-30 15:21:55 | 显示全部楼层 |阅读模式

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

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

x
是这样的,我用ncl绘制站点数据图,我想让小于0的数据和大于0的数字在图上分别显示不同的颜色,但是不知道如何操作。才学NCL一段时间,希望有大神能帮我看看这个怎么可以解决。一下是我的编码和例图: QQ图片20160830152055.png




load "$WORKDIR/include/library.ncl"

begin
    inputfileName = getArgsPara(params,"inputfileName")
    ;*************************************读取数据****************************
    stationfile = inputfileName
    ncol = numAsciiCol(stationfile)
    data1 = readAsciiTable(stationfile,ncol,"float",0)
    nrows = dimsizes(data1(:,0))    ; calculate # of rows

    data = asciiread(stationfile,-1,"float")
    stationdata = onedtond(data,(/nrows,ncol/))

    temp  = stationdata(:,3)     ; station numbers to appear on the map
    lon = stationdata(:,1)     ; longitude values
    lat = stationdata(:,2)     ; latitude values
;
    wks = gsn_open_wks("png", "station")   ; send graphics to PNG file

    res = True

    res@gsnMaximize = True
    res@gsnDraw     = False
    res@gsnFrame    = False

    res@mpProjection      = "Mercator"     ; Change Map projection
    res@mpDataBaseVersion = "MediumRes"    ; Medium resolution

    res@mpLimitMode = "LatLon"     ; Limit the map area by latitude/longitude.
    res@mpMinLonF   = 70.00
    res@mpMaxLonF   = 140.00
    res@mpMinLatF   = 15.00
    res@mpMaxLatF   = 65.00

    res@pmTickMarkDisplayMode       = "Always"
    res@mpPerimOn                   = False

    res@mpOutlineOn                 = True
    res@mpOutlineBoundarySets       = "Geophysical"
    res@mpDataSetName               = "Earth..4"
    res@mpGeophysicalLineThicknessF = 1.0
    res@mpNationalLineThicknessF    = 0.5
    res@mpLandFillColor             = "white"
    res@mpGridAndLimbOn             = False
    res@mpOutlineDrawOrder          = "PostDraw"

    res@tiMainString = "Overlapping text strings"

    map = gsn_csm_map(wks,res)

    txres               = True
    txres@txFontHeightF = 0.007
    txres@txFont        = "helvetica-bold"

    text = gsn_add_text(wks,map,sprintf("%6.4g",temp),lon,lat,txres)
    nstrs = dimsizes(text)

    draw(map)      ; Now draw map with text strings and
    frame(wks)     ; advance the frame
  end


密码修改失败请联系微信:mofangbao
 楼主| 发表于 2016-8-30 16:59:51 | 显示全部楼层
自己顶一下。
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2016-8-30 19:37:27 | 显示全部楼层
再顶一下。
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

 楼主| 发表于 2016-8-31 08:27:33 | 显示全部楼层
请教各位大神。
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2016-9-1 08:34:32 | 显示全部楼层
自己再顶一下。
密码修改失败请联系微信:mofangbao
发表于 2016-12-19 10:10:13 | 显示全部楼层
能解释一下这一项是干嘛的吗  load "$WORKDIR/include/library.ncl",我在用ncl画图,看到很多人加载了这一项,但是我的运行时会显示不能打开这一项
密码修改失败请联系微信:mofangbao
发表于 2016-12-19 10:10:29 | 显示全部楼层
能解释一下这一项是干嘛的吗  load "$WORKDIR/include/library.ncl",我在用ncl画图,看到很多人加载了这一项,但是我的运行时会显示不能打开这一项
密码修改失败请联系微信:mofangbao
发表于 2016-12-19 21:48:57 | 显示全部楼层
你可以设置if语句来做啊
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2016-12-24 14:04:36 | 显示全部楼层
礼乐王 发表于 2016-12-19 10:10
能解释一下这一项是干嘛的吗  load "$WORKDIR/include/library.ncl",我在用ncl画图,看到很多人加载了这一 ...

这个其实是我们自己加载的一个函数库,library是我们编译人员自己写的函数库脚本。你可以直接无视他。
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2016-12-24 14:04:48 | 显示全部楼层
yeah... 发表于 2016-12-19 21:48
你可以设置if语句来做啊

谢谢。问题已经得到了解决。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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