makecpt カラーパレットテーブルを作成する

まず、makecptと打ちこんでusageを確認してみると、GMT4.5.12では、

usage: makecpt [-C

] [-D] [-I] [-M] [-N] [-Q[i|o]] [-T | -T] [-V] [-Z]

OPTIONS:
-C Specify a colortable [Default is rainbow]:
[Default min/max values for -T are given in brackets].
———————————
cool : Linear change from blue to magenta [0/1]
copper : Dark to light copper brown [0/1]
cyclic : Cyclic colormap, spans 360 degrees of hue [0/360]
drywet : Goes from dry to wet colors [0/12]
gebco : Colors for GEBCO bathymetric charts [-7000/0]
globe : Colors for global bathy-topo relief [-10000/10000]
gray : Grayramp from black to white [0/1]
haxby : Bill Haxby’s colortable for geoid & gravity [0/32]
hot : Black through red and yellow to white [0/1]
jet : Dark to light blue, white, yellow and red [0/1]
nighttime : Colors for DMSP-OLS Nighttime Lights Time Series [0/1]
no_green : For those who hate green [-32/+32]
ocean : white-green-blue bathymetry scale [-8000/0]
panoply : Default colormap of Panoply [0/16]
paired : Qualitative color map with 6 pairs of colors [0/12]
polar : Blue via white to red [-1/+1]
rainbow : Rainbow: magenta-blue-cyan-green-yellow-red [0/300]
red2green : Polar scale from red to green via white [-1/+1]
relief : Wessel/Martinez colors for topography [-8000/+8000]
sealand : Smith bathymetry/topography scale [-6000/+3000]
seis : R-O-Y-G-B seismic tomography colors [-1/+1]
split : Like polar, but via black instead of white [-1/+1]
topo : Sandwell/Anderson colors for topography [-7000/+7000]
wysiwyg : 20 well-separated RGB colors [0/20]
———————————
-D Set back- and foreground color to match the bottom/top limits in the cpt file [Default uses color table].
-I Reverses the sense of the color table as well as back- and foreground color.
-M Use GMT defaults to set back-, foreground, and NaN colors [Default uses color table].
-N Do not write back-, foreground, and NaN colors [Default will].
-Q Assign a logarithmic colortable [Default is linear].
-Qi: z-values are actually log10(z). Assign colors and write z [Default].
-Qo: z-values are z, but take log10(z), assign colors and write z.
If -T is given, dz is 1, 2, or 3 (as in logarithmic annotations).
-T Give start, stop, and increment for colorscale in z-units, or filename with custom z-values.
If not given, the range in the master cptfile is used.
-V Run in verbose mode [OFF].
-Z Create a continuous color palette [Default is discontinuous, i.e., constant color intervals].

と表示され、Cool以下24種類のカラーパレットが用意されていることが分かる。それぞれのカラーパレットの右端の数字はデフォルトの最小値、最大値にそれぞれなる。

オプションの説明は以下の通り。

−C
内挿に用いるマスターカラーテーブル table を選択する。内蔵のカラーテーブル(一覧を見るには makecpt と打てばよい)の中から選ぶか、又は 既存の cpt ファイルの名前を与えること [デフォルトは rainbow cpt ファイルを与える]。

−D
cpt ファイルに書き出される背景及び前景色となる出力 cpt ファ イルの最低及び最高の z 値に対する色を選択する [デフォルトではマ スターファイルで指定された色、又はパラメータ COLOR_BACKGROUND, COLOR_FOREGROUND, 及び COLOR_NAN により定義された色を使う]。

−I
マスターカラーパレットファイルの色の順番を逆にする(例えば青~白~赤へと変化するpolarでは赤~白~青へと変化するようになる)。また、パラメータ COLOR_BACKGROUND 及び COLOR_FOREGROUND により指定された前景及び 背景色を入れ替える。

−M
−D と組み合わせたときは、 COLOR_NAN のみ考慮される。

−N
背景、前景、及び NaN の色のフィールドを書き出さない [デフォルトでは書き出す]。

−Q
対数内挿法を選択する[デフォルトは線形]。 −Qi とすると z 値 を log10(z) と仮定し、色を割り当て、 z を書き出す[デフォルト]。 −Qo は始めに log10(z) をとり、色を割り当ててz を書き出す。

−T
z の最低及び最高値と間隔を与えることにより新しい cpt ファイルの範囲を定義する。代わりに、行毎に 1 つの z の値を含むアスキーファイルの名前を与えることもできる。与えないときは、マスターカラーパレットファイルの既存の範囲がそのまま使われる。

−V
冗長モードを選択する。標準エラー出力に経過報告を送る[デフォ ルトでは「静かに粛々と」実行する]。

−Z
連続的なカラーパレットファイルを作る [デフォルトは不連続に各区間に一定の色が割り当てられる]。

makecpt -Cocean -D -T-8000/0.0/50 -Z > wdv3.cpt

として作成されたカラーパレットファイル wdv3.cpt を開いてみると、

# cpt file created by: makecpt -Cocean -D -T-8000/0.0/50 -Z
#COLOR_MODEL = RGB
#
-8000 0 0 0 -7950 0 0 1
-7950 0 0 1 -7900 0 0 2
-7900 0 0 2 -7850 0 1 4
・・・(中略)
-200 242 254 246 -150 244 254 248
-150 244 254 248 -100 246 255 251
-100 246 255 251 -50 248 255 253
-50 248 255 253 0 250 255 255
B 0 0 0
F 250 255 255
N 128 128 128

ここで、最下部のBはBackground Color で設定した最小値(ここでは-8000)よりも小さい値に割り当てられる色、FはForeground Colorで設定した最大値(ここでは0)よりも大きな値に割り当てられる色である。またNはNaN値に対して割り当てられる色である。

以下、バッチファイル例と出力ファイル

————————————————————————————————————————-
@echo off
set psfile=makecpt2.ps
set range=128.0/146.0/28.00/46.000
set scale=M15.0

gmtset MEASURE_UNIT cm
gmtset PAPER_MEDIA a4+
gmtset OUTPUT_DEGREE_FORMAT D+
gmtset PLOT_DEGREE_FORMAT D
gmtset LABEL_FONT_SIZE 10p
gmtset BASEMAP_TYPE = fancy
gmtset FRAME_WIDTH 0.1c
gmtset FRAME_PEN 0.75p
gmtset ANOT_FONT_SIZE 12.0p
gmtset TICK_LENGTH 0.1c

makecpt -Cocean -D -T-8000/0.0/50 -Z > wdv3.cpt
grdimage EastAsia.grd -Cwdv2.cpt -IEastAsia_l.grd -X3.0 -Y4.0 -J%scale% -R%range% -P -V -K > %psfile%
pscoast -J%scale% -R%range% -Df -Ba2.0f2.0g0.0SnWe -W0.5p -Lf134.0/41.5/41.5/500 -P -O -K -V >> %psfile%
gawk “{print $1,$2}” 1_gsi_boundary.dat | psxy -J%scale% -R%range% -P -O -V -M -K -W1.5t15_10:0 >> %psfile%
psscale -Cwdv3.cpt -D2.5c/-1.0c/4.5c/0.3ch -B2000 -P -O -K -V -E >> %psfile%
del *.gmt*
————————————————————————————————————————-

————————————————————————————————————————-
@echo off
set psfile=makecpt3.ps
set range=128.0/146.0/28.00/46.000
set scale=M15.0

gmtset MEASURE_UNIT cm
gmtset PAPER_MEDIA a4+
gmtset OUTPUT_DEGREE_FORMAT D+
gmtset PLOT_DEGREE_FORMAT D
gmtset LABEL_FONT_SIZE 10p
gmtset BASEMAP_TYPE = fancy
gmtset FRAME_WIDTH 0.1c
gmtset FRAME_PEN 0.75p
gmtset ANOT_FONT_SIZE 12.0p
gmtset TICK_LENGTH 0.1c

makecpt -Cgebco -D -T-4000/4000/50 -Z > wdv4.cpt
grdimage EastAsia.grd -Cwdv4.cpt -IEastAsia_l.grd -X3.0 -Y4.0 -J%scale% -R%range% -P -V -K > %psfile%
pscoast -J%scale% -R%range% -Df -Ba2.0f2.0g0.0SnWe -W0.5p -Lf134.0/41.5/41.5/500 -P -O -K -V >> %psfile%
gawk “{print $1,$2}” 1_gsi_boundary.dat | psxy -J%scale% -R%range% -P -O -V -M -K -W1.5t15_10:0 >> %psfile%
psscale -Cwdv4.cpt -D2.5c/-1.0c/4.5c/0.3ch -B2000 -P -O -K -V -E >> %psfile%
del *.gmt*
————————————————————————————————————————-

————————————————————————————————————————-
@echo off
set psfile=makecpt4.ps
set range=128.0/146.0/28.00/46.000
set scale=M15.0

gmtset MEASURE_UNIT cm
gmtset PAPER_MEDIA a4+
gmtset OUTPUT_DEGREE_FORMAT D+
gmtset PLOT_DEGREE_FORMAT D
gmtset LABEL_FONT_SIZE 10p
gmtset BASEMAP_TYPE = fancy
gmtset FRAME_WIDTH 0.1c
gmtset FRAME_PEN 0.75p
gmtset ANOT_FONT_SIZE 12.0p
gmtset TICK_LENGTH 0.1c

makecpt -Crelief -D -T-4000/4000/50 -Z > wdv5.cpt
grdimage EastAsia.grd -Cwdv5.cpt -IEastAsia_l.grd -X3.0 -Y4.0 -J%scale% -R%range% -P -V -K > %psfile%
pscoast -J%scale% -R%range% -Df -Ba2.0f2.0g0.0SnWe -W0.5p -Lf134.0/41.5/41.5/500 -P -O -K -V >> %psfile%
gawk “{print $1,$2}” 1_gsi_boundary.dat | psxy -J%scale% -R%range% -P -O -V -M -K -W1.5t15_10:0 >> %psfile%
psscale -Cwdv5.cpt -D2.5c/-1.0c/4.5c/0.3ch -B2000 -P -O -K -V -E >> %psfile%
del *.gmt*
————————————————————————————————————————-

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次