color.gs
名前
color - 描画の際の色テーブルを設定する。
概要
color (min max [int [inttype]] | -levs lev1 lev2 ... | -var var-name) [-div value] [-gxout gxout-name] [-kind string] [-alpha value] [-sample] [-xcbar [xcbar-args]] [-ret] [-verbose | -v]
説明
シェードや等値線図などを描く際に用いる色テーブルを設定する。色の名前や RGB 値、RGBA 値の組み合わせで柔軟な色設定が可能。 透過色は GrADS 2.1 以降のみ対応。 引数なしで実行するとヘルプが表示される。
引数
- min max [int [inttype]]
- カラーテーブルのための変数の値の最小値、最大値、間隔、間隔のタイプ。間隔省略時は GrADS の標準に準拠。inttype は "linear"(線形;デフォルト)および"fact"(倍数)を指定可能。
- -levs lev1 lev2 ...
- カラーテーブルのための変数の値のレベル。
- -var var-name
- 描画する変数名。変数の範囲に合わせて自動的に等値線の最小値・最大値・間隔を決定する。
- -div value
- min, max が指定され int が指定されていない場合の [min:max] の分割数。デフォルトは "10"。
- -gxout gxout-name
- "set gxout" で設定可能な名前。デフォルトは "shaded"。
- -kind string
- 色配列。デフォルト値は "blue->white->red"。詳細は色配列を参照。
- -alpha
- 色の透過度。"0" が完全に透明、"255" が完全に不透明。デフォルトは "255"。
- -sample
- 色テーブルを表示。
- -xcbar xcbar-args
- xcbar.gs を実行してカラーバーを描く(要xcbar.gs)。
- -ret
- スクリプト関数のように振る舞う。
- -v | -verbose
- 情報表示を増やす。
色配列(-kind オプション用)
色配列とは色の順序と割合を定義する文字列である。単一の色配列名、もしくは複数の色の名前・色配列名・(R,G,B)・(R,G,B,A) を "->" で接続して指定する。色の数がレベルの数に足りない場合は、線形内挿によって中間色が生成される。"->" の代わりに "-(n)->" (n: 0以上の整数) で接続することも可能であり、この場合は接続する2色の間の中間色の数が n に近づくように調整される。透明度を (R,G,B,A) の A で指定した場合、-alpha での指定に優先する。
以下に様々な例を示す。
- "blue->white->red"
- 青〜白〜赤。
- "bluered"
- 青〜白〜赤(上と同じ)。
- "red->white->blue"
- 赤〜白〜青。
- "purple->blue->white->red->maroon"
- 紫〜青〜白〜赤〜茶。
- "purple->blue->(255,255,255)->red->maroon"
- 紫〜青〜黒〜赤〜茶。
- "white->grainboe"
- 白〜虹色。
- "white-(0)->grainboe"
- 白〜虹色。但し白は1レベルのみ。
- (127,127,127,0)->(127,127,127,255)"
- 値が大きいほど灰色の不透明度が増加。
色配列名
色の配列名 | 対応する色の名前の並び |
---|---|
bluered | blue->white->red |
redblue | red->white->blue |
rainbow | blue->aqua->lime->yellow->red |
grainbow | (GrADS default rainbow) |
revgrainbow | (GrADS default rainbow, reversed) |
色の名前
black | navy | darkblue | mediumblue | blue | |||||
darkgreen | green | teal | darkcyan | deepskyblue | |||||
darkturquoise | mediumspringgreen | lime | springgreen | aqua | |||||
cyan | midnightblue | dodgerblue | lightseagreen | forestgreen | |||||
seagreen | darkslategray | limegreen | mediumseagreen | turquoise | |||||
royalblue | steelblue | darkslateblue | mediumturquoise | indigo | |||||
darkolivegreen | cadetblue | cornflowerblue | mediumaquamarine | dimgray | |||||
slateblue | olivedrab | slategray | lightslategray | mediumslateblue | |||||
lawngreen | chartreuse | aquamarine | maroon | purple | |||||
olive | gray | skyblue | lightskyblue | blueviolet | |||||
darkred | darkmagenta | saddlebrown | darkseagreen | lightgreen | |||||
mediumpurple | darkviolet | palegreen | darkorchid | yellowgreen | |||||
sienna | brown | darkgray | lightblue | greenyellow | |||||
paleturquoise | lightsteelblue | powderblue | firebrick | darkgoldenrod | |||||
mediumorchid | rosybrown | darkkhaki | silver | mediumvioletred | |||||
indianred | peru | chocolate | tan | lightgray | |||||
thistle | orchid | goldenrod | palevioletred | crimson | |||||
gainsboro | plum | burlywood | lightcyan | lavender | |||||
darksalmon | violet | palegoldenrod | lightcoral | khaki | |||||
aliceblue | honeydew | azure | sandybrown | wheat | |||||
beige | whitesmoke | mintcream | ghostwhite | salmon | |||||
antiquewhite | linen | lightgoldenrodyellow | oldlace | red | |||||
fuchsia | magenta | deeppink | orangered | tomato | |||||
hotpink | coral | darkorange | lightsalmon | orange | |||||
lightpink | pink | gold | peachpuff | navajowhite | |||||
moccasin | bisque | mistyrose | blanchedalmond | papayawhip | |||||
lavenderblush | seashell | cornsilk | lemonchiffon | floralwhite | |||||
snow | yellow | lightyellow | ivory | white |
使用例
(1) 230〜310の範囲、10きざみでデフォルト色「青→白→赤」を用いてtを描く。
ga-> open t.ctl ga-> color 230 310 10 ga-> d t ga-> cbar
(2) -50〜50の範囲で「ライム→白→赤」を指定して 10hPa の u を描く。
ga-> open u.ctl ga-> set lev 10 ga-> color -50 50 -kind lime->white->red ga-> d u ga-> cbar
(3) 0〜5000、500間隔で「茶→赤→白→青→紫」のコンターを描く。
ga-> open hgs.ctl ga-> set gxout contour ga-> color -gxout contour 0 5000 500 -kind purple->blue->white->red->maroon ga-> d hgs
(4) 0〜5000 を20分割して「(R,G,B)=(100,100,100)→(100,150,0)→(200,50,150)」のシェードで hgs を描く。
ga-> open hgs.ctl ga-> color 0 5000 -div 20 -kind (100,100,100)->(100,150,0)->(200,50,150) ga-> d hgs ga-> cbarn
(5) 虹色シェードで 500hPa の t を描く。ただし max, min, int は変数の値から自動的に決定する。
ga-> open t.ctl ga-> set lev 500 ga-> color -var t -kind rainbow ga-> d t ga-> cbar
(6) 100, 200, 500, 1000, 2000, 5000 の hgs コンターのみを虹色で描く。
ga-> open hgs.ctl ga-> set lon 60 120 ga-> set lat 0 60 ga-> color -gxout contour -levs 100 200 500 1000 2000 5000 ga-> d hgs
(7) 「赤→白」のカラーサンプルを表示する
ga-> color 1 10 -kind red->white -sample
(8) xcbar.gs を利用して「赤→白」のカラーサンプルを表示する
ga-> color 1 10 -kind red->white -xcbar 1 10 0.5 0.7 -edge triangle -line on
(9) 「白→虹色」のカラーサンプルを表示する
ga-> color 1 30 1 -kind white->grainbow -sample
(10) 「白→虹色」のカラーサンプルを表示する。但し白は1レベルのみ使用する。
ga-> color 1 30 1 -kind white-(0)->grainbow -sample
(11) シェードの 500hPa t に、灰色の透過色で 500hPa u を描画する。
ga-> open t.ctl ga-> open u.ctl ga-> set lev 500 ga-> d t ga-> color -kind (127,127,127,196)->(127,127,127,0)->(127,127,127,196) ga-> d u
ソースコード
- color.gs (必須)
- xcbar.gs (必要があれば)
- chcase.gsf (必要があれば)
- qgxout.gsf (必要があれば)
-
color.gsf (必要があれば)
- color.gsとファイル名以外等価