113.67.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>}... ) }

ここで N ≧ 2 で、<grayN> は [0,1] に割り当てる灰色値です。それに対応 する RGB 色 <colorN> は、3 種類の方法で指定できます:


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

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

<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" )

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)

赤以外のある色相で巻き進めた HSV フルカラースペクトル


     set palette model HSV start 0.15
     set palette defined ( 0 0 1 1, 1 1 1 1 )

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


     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" )

竹野茂治@新潟工科大学
2024-12-02