next up previous contents
Next: 34.23 Label Up: 34 Set-show Previous: 34.21 Isosamples

34.22 Key

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

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

書式:

     set key {  left | right | top | bottom | outside | below
              | <position>}
             {Left | Right} {{no}reverse}
             {samplen <sample_length>} {spacing <vertical_spacing>}
             {width <width_increment>}
             {title "<text>"}
             {{no}box { {linestyle | ls <line_style>}
                        | {linetype | lt <line_type>}
                          {linewidth | lw <line_width>}}}
     set nokey
     show key

デフォルトでは説明 (key) はグラフの右上の角に置かれます。説明をグラフ の他の角、あるいはグラフの外の右や下に配置するために、left, right, top, bottom, outside, below といったキーワードが用意されていま す。これらは単独で、あるいは組み合わせて使います。

説明中のラベル (名前) の行揃えは Left, Right (デフォルト) で指示し ます。ラベル文字列と曲線のサンプルは左右入れ替えることができます (reverse) し、 全体を枠で囲むこともできます (box {...})。その枠の 線は、線種 (lintype), 線幅 (linewidth)、あるいは定義済のラインスタ イル (linestyle) を指定することもできます。ただ、全ての出力装置が 線幅の選択をサポートしているとは限らないことに注意してください。

グラフ曲線のサンプルの線分の長さは samplen で指定できます。その長さ は目盛りの長さと、$<$sample_length$>$*(文字幅) の和として計算されます。 sapmlen は、グラフ上の点のサンプルの位置にも (もしそれが書かれなくて も) 影響を与えています。それは、点の記号はサンプル線分の中央に書かれる ためです。$<$sample_length$>$ は整数値でなければなりません。

行間の垂直スペースは、spacing で指定できます。その幅は、点のサイズ (pointsize) と垂直な目盛りのサイズと $<$vertical_spacing$>$ の積になります。 この垂直スペースは、文字の高さよりも小さくはならないことが保証されてい ます。

$<$width_increment$>$ は、文字列の長さに加えたり減らしたりする文字幅を表す 数値です。これは、説明に外枠を書き、ラベル文字列の文字数を調節するとき には役立つでしょう。gnuplot は外枠の幅を計算するときは、ラベル文字列 の文字数を単純に数えるだけなので、それを修正するのに使えます。

表題 (title) を説明の上につけることもできます (title "$<$text$>$") - 単 一引用符 (') と二重引用符 (") の違いについては syntax を参照してくだ さい。説明の表題の行揃えは、グラフの表題の行揃えと同じものが使われます。

set key のデフォルトは、right, top, Right, noreverse, samplen 4, spacing 1.25, title "", nobox です。説明の枠の線種は デフォルトではグラフ描画の外枠と同じものが使われます。set key にオプ ションをつけずに指定するとデフォルトの設定に戻ります。

説明の位置 ($<$position$>$) は、以前のバージョンと同様単に x,y,z を指定して もいいですが、その座標の座表系を選択するための 4 つのキーワード (first, second, graph, screen) を頭につけることもできます。詳細は coordinates を参照してください。

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

場合によってはこの説明の一部または全部が境界の外にはみ出すこともあり ます。この場合見出しなどと重なってしまうこともあり、また出力装置によ ってはエラーを生じることもあります。outsidebelow を使って説明 をグラフの外に出す場合は gnuplot は説明に余白を空けるためグラフは 多少小さくなります。右の外に出す場合は、その説明の横幅が可能な限り 小さくなるようにし、下の外に出す場合は、横幅が可能な限り大きくなる ようにします (その幅はラベルの長さによります)。そのようにして、可能な 限りグラフからは小さいスペースしか搾取しないようにしています。

TeX, PostScript, またはこれらと同等の、整形情報が文字列に埋め込まれる 出力を使う場合は、gnuplot は説明の位置合わせのための文字列の幅を 正しく計算できません。よって説明を左に置く場合は set key left Left reverse という組合せを使うのがいいでしょう。そうすれば説明の枠と枠内の すき間は文字列そのままの幅に合わせられます。

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

例:

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

     set key

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

     set nokey

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

     set key 2,3.5,2

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

     set key below

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

     set key left bottom Left title 'Legend' box 3


next up previous contents
Next: 34.23 Label Up: 34 Set-show Previous: 34.21 Isosamples
Shigeharu TAKENO
2003年 10月 21日