#!/usr/bin/ruby # 使用するライブラリの読み込み. (以下 2 行は「決まり文句」.) require "numru/ggraph" include NumRu # NetCDF ファイル "air.mon.mean.nc" から変数 "air" を読み, GPhys オブジェクト gp に格納 gp = GPhys::IO.open( "air.mon.mean.nc", "air" ) # 経度(lon)軸に対して平均する gp = gp.mean('lon') # 画面を開く (open) # 引数の 1 は画面への描画を表す # 2 はファイルへの出力を表す # (デフォルトでは出力は pdf 形式でファイル名は dcl.pdf) # pngファイルで保存 DCL.swpset("ifl",1) DCL.gropn(2) # 描画に関わる各種の指定 DCL.uzfact(0.6) # フォントサイズ (元の値に対する比率) DCL.sgpset('lclip',true) # 軸範囲を超えた領域を描画しない DCL.glpset('lmiss',true) # 欠損値処理 # 描画画面を準備 # itr の 1 は横軸, 縦軸ともに線形を表す # 2 は横軸が線形軸, 縦軸が対数軸を表す # 3 は横軸が対数軸, 縦軸が線形軸を表す # 4 は横軸, 縦軸ともに対数軸を表す GGraph.set_fig( 'itr'=> 1 ) # for を使うことで, 2020 年 1 月 1 日, 2 月 1 日, 3 月 1 日, ... の一か月ごとの分布を描画 for i in 1..12 # 日時の変数指定 time_label = "2020-" + i.to_s + "-01 00:00:0.0" # 日時の表示 print i, " : ", time_label, "\n" #指定日時の切り取り gp1 = gp.cut('time'=>DateTime.parse(time_label)) # トーン (色付け) で描画 # 第一引数は描画するデータの GPhys オブジェクト # 第二引数の true はこの時点では「決まり文句」 #  第三引数は描画するトーンの最小値の設定 #  第四引数は描画するトーンの最大値の設定 GGraph.tone(gp1,true,'min'=>-90,'max'=>30) #  等温線の描写 # 第二引数は重ね書きするため false GGraph.contour(gp1,false) # カラーバーを描画 GGraph.color_bar end # 画面を閉じる (close) DCL.grcls