GMTの makecpt で作成されたカラーパレットを使用する

1.1. 滑らかなレインボーカラーで描画する」、「 1.2. 滑らかに 青〜白〜赤 で描画する」では、ある程度自動で色が設定されました(図1)。けれども、場合によってはある閾値によって厳密に色を変えたいということもあるでしょう。

例えば、以下のようなカラーパレット b_r.cpt を用意します。

-1〜1までが薄いグレーで均一に指定されています。図2のように、滑らかな色調と段階的な色調の両方で描くことができます。

なお、このページで使用したデータは2007年4月10日00UTCの気象庁全球解析の可降水量(mm)または解析インクリメント(mm)です。


図1. -col b_r で指定


図2. GMTカラーパレット使用

準備#1:カラーパレットを作成する( makecpt

makecpt によって作成されたカラーパレットは基本的に全て読み込み可能です。

-Z を指定し、滑らかな色調にすることも可能です。



準備#2:カラーパレットを自作する

カラーパレットを自作する場合には、以下の点に注意してください。

・ 「#」で始まる冒頭のコメント行のどこかに

# COLOR_MODEL = RGB

もしくは、

# COLOR_MODEL = HSV

を入れておく必要があります(makecptを使用すれば設定されています)。

・ レベルの設定は不等間隔でもできますが、隙間や重なりがないようにしてください。

・ ファイル末尾の

B  *  *  *

は下限値以下の色、

F  *  *  *

は上限値以上の色を表しています。GMTの初期設定では、下限値以下は黒、上限値以上は白で描かれるため、適当に変えるとよいかもしれません。

・ 非数値を塗り分ける

N  *  *  *

には対応していません。



使い方(応用編#7):GMTの makecpt で作成されたカラーパレットを使用する

smcol  val   -cpt cptfile

val

描きたい変数

cptfile

カラーパレットファイル


使用例

例えば、 pw.1-pw.2 という値を描画したいとします。おおよそ-5〜5の値となっています。

カラーパレットを

> !makecpt -T-5/5/1 -Cpolar -Z > b_r5.cpt

というように作成してみます。GrADS上では「!」を行頭に付けることで外部コマンドを起動できます。

> smcol  pw.1-pw.2   -cpt b_r5.cpt

と入力して、絵が描けます。

しかし、GMTの初期設定では下限値以下は黒、上限値以上は白で描かれるため、b_r5.cpt をエディターで変更します。

B   0   0   0  ==>  B   0   0 255

F 255 255 255  ==>  F 255   0   0

と変更すれば、下限値以下は青、上限値以上は赤で描かれます。オーストラリアの北部などに違いが見られます。

さて、冒頭で示したような b_r.cpt を使用してみます。

> smcol  pw.1-pw.2   -cpt b_r.cpt

ところが、カラーバーの数字がぐちゃぐちゃになっています。これは、カラーパレットで指定された1番目(-5)と2番目(-1)の値の差(4)で、最大値(5)と最小値(-5)の差(10)を割り切ることができなかったためです。

このような場合には、自分で数字の間隔を設定します。「応用編#1:カラーバーの数字の間隔を変える」で示したように、引数 -int を使用します。

> smcol  pw.1-pw.2  -cpt b_r.cpt  -int 1


応用編#8:カラーバーを不等間隔の数字で描画する

smcol  val   -cpt  cptfile   -ebar off



使用例

例えば、0, 1, 2, 4, 8, 16, 32, 64 というように、不等間隔なレベルが設定されたカラーパレットを用意します。ここでは分かりやすいように、滑らかではない色で説明します。

今までと同じように描画してみます。

> smcol pw -cpt rainbow.cpt -int 8

しかし、0付近で非常に細かくなってしまい、境界値がよく分かりません。

このような場合には、

> smcol pw -cpt rainbow.cpt   -ebar off

とすると、カラーパレットで指定したレベルごとにバーが描かれます。

当然、滑らかな色調であったり、部分的に一定の色であったとしても、同じように描画できます。

-ebar off を指定しないと、右のようになります。


By T. Egawa <2007.06.11>
戻る