Functions/gsn_contour_shade - NCL tips

指定した値よりも大きな/小さな領域に色やパターンでシェードをかける関数。

plot2 = gsn_contour_shade(plot, value1, value2, res)

〔入力変数〕

plot

gsn_csm_contour_mapなどで作られたgraphic型変数。

value1, value2

シェードをかける基準の値。これらを基準としてどこにシェードを施すかはresが決める。

res

attrubuteを通してシェードの設定を行う変数。以下の設定が可能。

res@gsnShadeFillType   = "pattern" ;; 塗り方の指定。"pattern"はパターンで塗りつぶし。"color"は色でベタ塗り。
res@gsnShadeLow        = 6         ;; value1より小さな領域を塗りたい場合に指定。
                                      res@gsnShadeFillType = "pattern"の場合はパターンの種類,
                                      res@gsnShadeFillType = "color"の場合は色を与える。
res@gsnShadeMid        = 6         ;; value1より大きく,value2より小さな領域を塗りたい場合に指定。
                                      res@gsnShadeFillType = "pattern"の場合はパターンの種類,
                                      res@gsnShadeFillType = "color"の場合は色を与える。
res@gsnShadeHigh       = 6         ;; value2より大きな領域を塗りたい場合に指定。
                                      res@gsnShadeFillType = "pattern"の場合はパターンの種類,
                                      res@gsnShadeFillType = "color"の場合は色を与える。
res@gsnShadeFillScaleF = 0.8       ;; パターンの密度を指定。全てのパターンに適用。
res@gsnShadeFillScales = (/0.8,1.0,1.2/)
                      ;; res@gsnShadeLow,res@gsnShadeMid,res@gsnShadeHighのパターンの密度をそれぞれ指定。
res@gsnShadeFillDotSizeF = 0.02    ;; 点描の際の点の大きさを指定。

〔出力変数〕

plot2

plotが変更されたもの。


シェードは必ずしもvalue1,value2きっかりを境界に塗られるわけではなく,value1よりも小さな最初の等値線と,value2よりも大きな最初の等値線レベルを境界に塗られることに注意。したがって,plotを作成する際に,value1とvalue2の等値線が描かれるように設定しておいた方が無難である。なお,描画時に等値線は不要でここで描かれるシェードだけ欲しいのであれば,plotを作成する際に,plotに付随するresourcesにおいてcnLinesOncnFillOnなどを全てFalseにして実質的に何も描かないようにしておいてからこの関数を適用すれば,結果としてシェードだけが描かれることになる。なお,res@gsnShadeFillType = "pattern"の際の塗りつぶしの色は,plotに付随するresourcesのcnFillColorを通して一つだけ設定することができる。


トップ   編集 凍結 添付 名前変更   新規