#!/usr/bin/ruby #使用するライブラリの読み込み(以下2行は「決まり文句」) require "numru/ggraph" include NumRu #NetCDFファイル"rhum.2019.nc"から変数"rhum"を読み, GPhysオブジェクトgpに格納 gp = GPhys::IO.open( "rhum.2019.nc", "rhum" ) #cutメソッドを使ってlevel=1000[milibar]のデータを切り出す gp = gp.cut('level'=>1000) #stddevメソッドを使ってtime軸についてデータの標準偏差を取る gp = gp.stddev('time') #画面を開く(open) # 引数の1は画面への描画を表す DCL.swpset("ifl",1) DCL.gropn(2) #描画に関わる各種指定 DCL.sgpset('lfull',true) #描画範囲を最大に設定(ウィンドウのギリギリまで使用) DCL.uzfact(0.4) #フォントサイズ(元の値に対する比率を0.4に設定) DCL.sgpset('lclip',true) #軸範囲を超えた領域を描画しない DCL.glpset('lmiss',true) #欠損値処理 GGraph.set_axes('xlabelint'=>30) #x軸にラベルを書く間隔を30に設定 GGraph.set_axes('ylabelint'=>30) #y軸にラベルを書く間隔を30に設定 #描画画面を準備 # itrの10は正距円筒図法(いわゆる経度-緯度座標)を表す # viewportは描画可能範囲の中での図の描画範囲を表す(四隅[x1,x2,y1,y2]の全体に対する比率を[0.1,0.75,0.2,0.55]に設定) # windowは描画する軸の範囲を表す(四隅[x1,x2,y1,y2]の値を[0,360,-90,90]に設定) GGraph.set_fig( 'itr'=> 10, 'viewport'=>[0.1,0.75,0.2,0.55], 'window'=>[0,360,-90,90] ) #地図情報の指定. ここでは海岸線を描くように設定 GGraph.set_map( 'coast_world'=>true, 'grid'=>true ) #トーン(色付け)で描画 # 第一引数は描画するデータのGPhysオブジェクトgp # 第二引数のtrueは新しい図であることの指定 # 以下の指定の順番は問わない # titleは図の題名の指定('standard deviation of mean daily relative humidity'を題名に指定) # annotateは図の右上に書かれる情報を表示するかどうかの指定 # map_axesは正距円筒図法において軸のラベルを書くかどうかの指定 # nlevは使用するトーン(色分け)の数の指定(30に設定) GGraph.tone( gp, true, 'title'=>'standard deviation of mean daily relative humidity', 'annotate'=>true, 'map_axes'=>true, 'nlev'=>30 ) #カラーバーを描画 GGraph.color_bar #画面を閉じる(close) DCL.grcls