81.30 Key

コマンド set key は描画された曲線の説明や表題を表示することを可能に します。

説明 (key) の内容、すなわち描画される個々のデータ集合や関数につける名 前、およびそれらグラフの曲線とグラフ上の点を表す記号からなるサンプルは、 plot (または splot) コマンドの title, with オプションにより決 定されます。より詳しい情報については、以下参照: plot title (71.10),plot with (71.11)

書式:

     set key {on|off} {default}
             {{inside | outside} | {lmargin | rmargin | tmargin | bmargin}
               | {at <position>}}
             {left | right | center} {top | bottom | center}
             {vertical | horizontal} {Left | Right}
             {{no}opaque}
             {{no}reverse} {{no}invert}
             {samplen <sample_length>} {spacing <vertical_spacing>}
             {width <width_increment>}
             {height <height_increment>}
             {{no}autotitles {columnheader}}
             {title "<text>"} {{no}enhanced}
             {font "<face>,<size>"} {textcolor <colorspec>}
             {{no}box { {linestyle | ls <line_style>}
                        | {linetype | lt <line_type>}
                          {linewidth | lw <line_width>}}}
             {maxcols {<max no. of columns> | auto}}
             {maxrows {<max no. of rows> | auto}}
     unset key
     show key

キー (説明) は、グラフ内の各描画に対するタイトルとサンプル (凡例; 線、 点、箱) から成ります。キーの機能は、set key off または unset key で無効にできます。個々のキーのエントリは、対応する plot コマンド内にキ ーワード notitle を使うことで無効にできます。

キー内の各要素は vertical (縦) または horizontal (横) に従って重ね られます。vertical の場合、key は可能ならば 2,3 個の縦の列を使います。 すなわち、各要素は垂直スペースがなくなるまでは 1 つの列に整列されます が、そこから新しい列が開始されます。垂直スペースは、maxrows を使って 制限できます。horizontal の場合は、key は横の行をできるだけ少なく使 おうとします。水平方向のスペースは maxcols により制限できます。

デフォルトでは、key はグラフ領域の内側の右上の角に置かれます。キーワー ド left, right, top, bottom, center, inside, outside, lmargin, rmargin, tmargin, bmargin (, above, over, below, under) は、グラフ領域の他の場所への自動的な配置のために使用します。 key の描画をどこに置くかをより詳しく指示するための at < position> も あります。この場合、キーワード left, right, top, bottom, center が同様の基準点合わせの設定の目的で使われます。 より詳しくは、以下参照: key placement (81.30.1)

グラフのタイトルの行揃えは Left, Right (デフォルト) で指示し ます。ラベル文字列と曲線のサンプルは左右入れ替えることができます (reverse) し、 全体を枠で囲むこともできます (box {...})。その枠の 線は、線種 (linetype), 線幅 (linewidth)、あるいは定義済のラインス タイル (linestyle) を指定することもできます。

デフォルトでは、key は一つのグラフと同時に作られます。すなわち、key の 記号とタイトルは、それに対応するグラフと同時に描かれます。それは、新し いグラフが時には key の上に要素をかぶせて配置しうることを意味します。 set key opaque は、key をすべてのグラフの描画が終った後に生成させま す。この場合、key の領域は背景色で塗りつぶされて key の記号とタイトル が描かれます。よって、key 自身はいくつかの描画要素を覆い隠してしまい得 ることになります。set key noopaque でデフォルトに復帰できます。

デフォルトでは、最初の描画のラベルが説明の一番上に現われ、それに続くラ ベルがその下に並んで行きます。オプション invert は、最初のラベルを説 明の一番下に置き、それに続くラベルをその上に並べて行きます。このオプシ ョンは、説明のラベルの縦の並びの順番を、積み上げ形式のヒストグラム (histograms) の箱の順番に合わせるときに便利でしょう。

< height_increment> は、説明の箱の高さに加えたり減らしたりする高さ (何 文字分か) を表す数値です。これは主に、説明の回りに箱を描く場合で、説明 の並びの回りの境界線をより大きくしたい場合のものです。

plotsplot で描画される全ての曲線は、デフォルトのオプション autotitles に従って表題 (title) がつけられます。表題の自動生成は、 noautotaitle で抑制できますがその場合、(s)plot ... title ... で明 示的に指定された表題のみが描かれることになります。

コマンド set key autotitle columnheader は、各入力データの先頭行の各 列のエントリをテキスト文字列と解釈し、対応する描画グラフのタイトルとし て使用します。描画される量が、複数の列データの関数である場合は、 gnuplot はどの列をタイトルの描画に使えばいいのかわかりませんので、その ような場合、plot コマンド上で、例えば以下のように明示的にタイトルの列を指定する必要があります。


     plot "datafile" using (($2+$3)/$4) title columnhead(3) with lines

全体に渡る表題は説明の上につけることもできます (title "< text> ")。単 一引用符 (') と二重引用符 (") の違いについては、以下も参照: syntax (23)。 説明の表題の行揃えは、グラフの表題の行揃えと同じものが使われます。

set key のデフォルトは、on, right, top, vertical, Right, noreverse, noinvert, samplen 4, spacing 1.25, title "", nobox です。説明の枠の線種はデフォルトではグラフ描画の外枠と同じもの が使われます。set key default とするとデフォルトの設定に戻ります。

説明は、1 行に 1 曲線分ずつの数行のまとまりとして書かれます。各行の右 側には (reverse を使っていれば左側には) その曲線と同じ種類の直線のサ ンプルが引かれ、他の側には plot コマンドから得られる文字列 (title) が置かれます。これらの行は、架空の直線が説明の左側と右側を分けるかのよ うに垂直に整列されます。コマンド set key で指定する座標はこの架空の 線分の上の端の座標です。plot では直線の位置を指定するために x と y だけが使われ、splot では、x, y, z の値全てを使い、グラフを 2 次元面 へ投影するのと同じ方法を使って、架空の直線の 2 次元画面での位置を生成 します。

TeX や、整形情報が文字列に埋め込まれる出力を使う場合は、gnuplot は説 明の位置合わせのための文字列の幅を正しく評価することしかできません。よ って説明を左に置く場合は set key left Left reverse という組合せを使 うのがいいでしょう。

splot で等高線を書く場合、説明には等高線のラベルも表示されます。 これらのラベルの並び具合がうまくいかない、または別な位置に小数点を 置きたい場合はそのラベルの書式を指定できます。詳細は、以下参照:set clabel (81.9)

例:

以下はデフォルトの位置に説明を表示します:

     set key default

以下は説明を表示しなくします:

     unset key

以下はデフォルトの (第一の) 座標系での (2,3.5,2) の位置に説明を表示 します:

     set key at 2,3.5,2

以下は説明をグラフの下に表示します:

     set key below

以下は説明を左下角に表示し、テキストは左に行揃えで、タイトルをつけ、線種 3 の外枠を書きます:

     set key left bottom Left title 'Legend' box 3



Subsections
竹野茂治@新潟工科大学
2012年3月10日