2009年 9月 1日 掲載
カラーパレットを出力する makecpt の 3回目. のこりのカラーパレットをやっつけてしまおう.
前回につづき,no_green からためしていく.
no_green のカラーパレットの範囲は -32〜32 と, 正負にひろがっているので, 描画データには双曲放物面のデータを使う.
$ awk 'BEGIN{for(x=-4;x<=4;x+=0.1)for(y=-4;y<=4;y+=0.1)print x, y, x^2-y^2}' > hp.txt $ xyz2grd hp.txt -Ghp.grd -I0.1 -R-4/4/-4/4
no_green のデフォルトのカラーパレットを見てみよう.
$ makecpt -Cno_green # cpt file created by: makecpt -Cno_green #COLOR_MODEL = RGB # -32 32 96 255 -28 32 96 255 -28 32 159 255 -24 32 159 255 -24 32 191 255 -20 32 191 255 -20 0 207 255 -16 0 207 255 -16 42 255 255 -12 42 255 255 -12 85 255 255 -8 85 255 255 -8 127 255 255 -4 127 255 255 -4 170 255 255 0 170 255 255 0 255 255 84 4 255 255 84 4 255 240 0 8 255 240 0 8 255 191 0 12 255 191 0 12 255 168 0 16 255 168 0 16 255 138 0 20 255 138 0 20 255 112 0 24 255 112 0 24 255 77 0 28 255 77 0 28 255 0 0 32 255 0 0 B 32 96 255 F 255 0 0 N 128 128 128
間隔 4 で,16段階で色が指定されている. データ hp.txt の z値の範囲は -16〜16 なので, makecpt に -T-16/16/2 をつける.
$ makecpt -Cno_green -T-16/16/2 -Z > ng.cpt makecpt: Warning: Making a continous cpt from a discrete cpt may give unexpected results!
おっと,警告が出てしまった.-Z をはずしてやりなおそう.
$ makecpt -Cno_green -T-16/16/2 > ng.cpt $ grdimage hp.grd -Jx1 -Cng.cpt -Ba1 > hp_ng.eps
ちょっと変だが,わかりやすいと言えば,わかりやすい色彩だ.
次は,panoply. 0〜16 までの範囲を 16段階で離散的な色指定がされている.
描画には,前回作ったガウス分布データ g.grd を使う.
$ makecpt -Cpanoply -T0/1/0.0625 > pp.cpt $ grdimage g.grd -Jx1 -Cpp.cpt -Ba1 > gauss_pp.eps
次,polar.-1〜1 まで,2段階の連続的な色指定. 双曲放物面を描画してみる.
$ makecpt -Cpolar -T-16/16/16 -Z > pl.cpt $ grdimage hp.grd -Jx1 -Cpl.cpt -Ba1 > hp_pl.eps
あれ,その19 などで作った図と同じ色彩だ. カラーパレットファイル pl.cpt を見てみよう.
$ cat pl.cpt # cpt file created by: makecpt -Cpolar -T-16/16/16 -Z #COLOR_MODEL = RGB # -16 0 0 255 0 255 255 255 0 255 255 255 16 255 0 0 B 0 0 0 F 255 255 255 N 128 128 128
自前で作ったカラーパレットファイル cp2.cpt と, 配色がまったく同じである. これからは echo文でちまちま作るのはやめて, makecptコマンドで作ることにしよう.
次,rainbow. デフォルトのカラーパレットを見てみる.
$ makecpt -Crainbow -Z # cpt file created by: makecpt -Crainbow -Z #COLOR_MODEL = +HSV # 0 300 1 1 1 0 1 1 B 0 0 0 F 0 0 1 N 0 0 0.501961
cyclic と同じく,HSV色空間で色が指定されている. 0 から 1までの範囲を, 色相 H が 300(マゼンタ)から,0(赤)へと連続的に変化している. ガウス分布を描画してみる.
$ makecpt -Crainbow -Z > rbw.cpt $ grdimage g.grd -Jx1 -Crbw.cpt -Ba1 > gauss_rbw.eps
次,red2green.範囲 -1〜1,2段階,連続的.
$ makecpt -Cred2green -T-16/16/16 -Z > rg.cpt $ grdimage hp.grd -Jx1 -Crg.cpt -Ba1 > hp_rg.eps
負が赤,正が緑であるが,これ,赤緑色盲の方には判別できないよな. なるべく使わないのが良さそうな配色だ.
次,seis. 色の指定は,-1 から 1まで 9段階である. 双曲放物面の範囲 -16〜16 を 9分割するのは切りが悪いので, 10段階にしておこう. -Tオプションは,-T-16/16/3.2.
$ makecpt -Cseis -T-16/16/3.2 -Z > ss.cpt $ grdimage hp.grd -Jx1 -Css.cpt -Ba1 > hp_ss.eps
正が青,負が赤,とは感覚的に反対のような気がするが, 地震学的(seismic)には,これが常識なのだろうか.
次,split.範囲 -1〜1,4段階,連続的.
$ makecpt -Csplit -T-16/16/8 -Z > sp.cpt $ grdimage hp.grd -Jx1 -Csp.cpt -Ba1 > hp_sp.eps
く,暗い…. 中間が黒べたになるのは,印刷にも不向きだと思う.
次が最後,wysiwyg.範囲 0〜20,20段階,離散的. openwin -cubesize large と waxenvy printer 用のカラーパレットとのこと. これらは 20色しか使えないのかな?
$ makecpt -Cwysiwyg -T0/1/0.05 > ww.cpt $ grdimage g.grd -Jx1 -Cww.cpt -Ba1 > gauss_ww.eps
わるい配色ではないが,階段状になるのはやっぱり気になるかな.
以上で,3回にわたってしまった makecptコマンドによるカラーパレットの紹介は, すべて終了である. 気に入ったカラーパレットはみつかっただろうか. 私が使うとしたら,globe と polar の 2つくらいかな.
[ KDOホームにもどる ] [ いちからはじめる GMT インデックスにもどる ]
(C) 2009 KDO