100.66.2 Defined

灰色から RGB への対応は palette defined を使うことで手動で設定できま す: グラデーションは RGB の値を与えるために定義され使用されます。 グラデーションは、[0,1] の灰色値から [0,1]x[0,1]x[0,1] の RGB 空間への 区分的に線形な写像です。その線形補間に使われる灰色値と RGB 値の組を指 定する必要があります:

書式:

     set palette  defined { ( <gray1> <color1> {, <grayN> <colorN>}... ) }

<grayX> は [0,1] に割り当てられるべき灰色値で、<colorX> はそれに対応す る RGB 色です。カラー値は 3 種類の方法で指定することができます:


    <color> :=  { <r> <g> <b> | '<color-name>' | '#rrggbb' }

赤、緑、青に対応する空白で区切られた 3 つの値 (それぞれ [0,1] 内)、引 用符でくくられた色名、または引用符でくくられた X 形式の指定方式、のい ずれかです。グラデーションの定義では、これらの 3 種の型を自由に組み合 わせることができますが、色空間として RGB でないものが選択された場合色 名 "red" は少し違ったものになるでしょう。使用できる色名は show colornames でその一覧を見ることができます。

<r> と書いても、HSV 色空間ではそれは <H> 成分を、といったように選択さ れたカラーモデルに依存して意味が違うことに注意してください。

<gray> の値は実数の昇順に並べる必要があります。その列の値は自動的に [0,1] に変換されます。

カッコつきのグラデーションの定義なしで set palette defined とした場 合、RGB 色空間にし、あらかじめ設定されたフルスペクトルグラデーションを 使用します。グラデーションを表示するには show palette gradient を使 用してください。

例:

灰色のパレット (役に立たないが教訓的な) を生成するには:

     set palette model RGB
     set palette defined ( 0 "black", 1 "white" )

青黄赤のパレット (全てが等価の) を生成するには:

     set palette defined ( 0 "blue", 1 "yellow", 2 "red" )
     set palette defined ( 0 0 0 1, 1 1 1 0, 2 1 0 0 )
     set palette defined ( 0 "#0000ff", 1 "#ffff00", 2 "#ff0000" )

虹のようなパレットを生成するには:

     set palette defined ( 0 "blue", 3 "green", 6 "yellow", 10 "red" )

HSV 色空間でのフルカラースペクトル:

     set palette model HSV
     set palette defined ( 0 0 1 1, 1 1 1 1 )
     set palette defined ( 0 0 1 0, 1 0 1 1, 6 0.8333 1 1, 7 0.8333 0 1)

MATLAB で使われるデフォルトパレットの近似:

     set pal defined (1 '#00008f', 8 '#0000ff', 24 '#00ffff', \
                      40 '#ffff00', 56 '#ff0000', 64 '#800000')

等間隔な少しの色だけのパレットを生成するには:

     set palette model RGB maxcolors 4
     set palette defined ( 0 "yellow", 1 "red" )

'交通信号' (滑らかではなく gray = 1/3, 2/3 で跳びを持つ):

     set palette model RGB
     set palette defined (0 "dark-green", 1 "green", \
                          1 "yellow",     2 "dark-yellow", \
                          2 "red",        3 "dark-red" )

竹野茂治@新潟工科大学
2022-07-20